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

发表于:2021-9-14 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:知乎

  在使用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

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号