Loadrunner录制脚本中出现中文乱码时的解决方式

在使用Loadrunner录制或者回放脚本的时候有时候会出现乱码的情况,来看看怎么解决这种情况,以及UTF-8及GBK字符编码的定义是什么。

1 录制的脚本出现乱码

录制的时候出现乱码,有的时候可以正常回放,我们可以不用管它,但如果影响回放,我们可以使用以下方法解决:

1)更改录制选项

选择菜单栏

Tools-->Recording Options

勾选Advance页面中的“Support Charset”和“UTF-8”两项。

2)更改web服务器端的字符编码

更改服务器端使用的字符编码,使其与本地使用字符编码一致,例如改为“gb2312”。

2 回放脚本时出现乱码

LoadRunner回放脚本时,如果在日志中出现乱码,可以按以下方法操作:

1)更改运行时设置:

点击菜单栏中的Vuser,选择Run-time Settings(或者直接按F4键):在弹出的窗口左侧点击Internet Protocol

Preference下的Advanced,然后在右侧窗口中点击Options按钮,在弹出的窗体中找到General下的Convert

from/to UTF-8,将其设为Yes。

2)更改IE浏览器设置:

打开IE浏览器,在页面-->编码-->勾选“自动选择”和“Unicode(UTF-8)”。

3)使用函数转换编码:

可以使用lr_convert_string_encoding函数来转换编码。

下面是一个使用的例子:

//关联取值函数,取出的值放入resp中

web_reg_save_param("resp",

"LB=responseMsg\":\"",

"RB=\",",

"NotFound=ERROR",

"Search=All",

LAST);

//请求语句

web_custom_request("pay.htm",

"URL=http://xxx/...",

"Method=POST",

"TargetFrame=",

"Resource=0",

"RecContentType=application/json",

"Referer=",

"Mode=HTML",

"EncType=application/x-www-form-urlencoded;charset=UTF-8",

LAST);

//使用转换函数将resp值做编码转换并存入msg

lr_convert_string_encoding(lr_eval_string("{resp}"),"utf-8",NULL,"msg");

//输出打印转换编码后的结果,便于定位问题

lr_output_message("转换编码后的resp-------:%s",lr_eval_string("{msg}"));

3 字符编码介绍

UTF-8:UnicodeTransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

GBK:是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。

GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:

GBK、GB2312-Unicode-UTF8

UTF8-Unicode-GBK、GB2312

你可能感兴趣的:(Loadrunner录制脚本中出现中文乱码时的解决方式)