一下内容纯属网上方法集合:

我用loadrunner录制,脚本里的乱码一直没有解决。看到网上很多贴子。
采用的方法:
1、第一步:去lr 的vugen的Tools -> Recoding Options -> Advanced -> Support charset -> UTF-8 选上。
2、新建脚本--->选择协议(Http)-->选项-->高级-->选择“支持字符集”并点选“UTF-8”;
     在回放脚本之前:Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中文(中国)”;
3、

相信有不少人在使用LoadRunner的过程中都遇到过这样的问题:在录制下来的脚本的中文信息出现了乱码。关于乱码问题,可能大家在网上也能搜到不少相关的解决办法,我在这里就不多说了,大家自己去试验一下吧,到底哪个办法有效也就只有谁用谁知道了!我这里只举一个自己遇到的实际例子来说这个问题,也许不是解决这个问题的唯一办法,但至少也是其中的一个吧。 被测系统采用Ajax技术,通过录制下来的脚本看起来像下面的样子(省略函数其它部分,下同): web_custom_request("CALL-H001I", "EncType=text/xml; charset=UTF-8", "BodyBinary=& lt;request><meta><verb>CALL</verb><tid>H001I< /tid></meta><data><assuid/><assutype>1< /assutype><mortkind>04< /mortkind><goodsasassuflag>0< /goodsasassuflag><assuname>浣忔埧< /assuname><papertype>01</papertype> <paperno>鏆傛棤鍙风爜</paperno><paperrecedate/><papergrantorgan/><turncashabil>1</turncashabil> <incrensuabil>1</incrensuabil><assuamt>1000000</assuamt> <otherassuamt>1000000.00</otherassuamt><assuleftamt /><custid>A110102641122043#1</custid><custname>闇嶈景榫" """x99" "</custname><repaynum>1</repaynum><firstmortrate /><secondmortrate/><mortstate>0</mortstate><note /><housetype>0</housetype><houseframesign /><houseformsign>01</houseformsign><housestylesign /><houseaddr>鍘﹂棬</houseaddr><housearea>100< /housearea><compdate/><houseagreno/> <carmarksign>A1</carmarksign> <carmodel/><carno/><carengino/><carcolor/><caroutyear/><carrejeyear/> <bankid>442000050</bankid> <operid>031</operid></data></request>"r"n" "", LAST); 从上面脚本的黑体部分可以看出,LoadRunner向服务器提交的请求body部分,输入的中文字段被变成了诸如“浣忔埧” 这样的乱码。遇到这样的情况,相信大多数人和我最开始一样,只能不加理会,直接点击回放,然后我们很高兴地发现,脚本回放成功了!这些乱码是可以被LR识别的,而且到应用系统中查看运行的结果,也没有问题,显示的是正确的中文。但是且慢!先不要高兴得太早,我们很快就会意识到:如果这个字段我们是需要进行参数化的怎么办?我们应该如何造出这种乱码的字呢? 首先,我们直接用正常的字去参数化,这里只举其中的一个例子来说明,比如<assuname>这个字段,我们用参数值“汽车”直接在脚本中替换“浣忔埧”,脚本回放失败。 然后就想到会不会是所有的中文字段都需要用才行呢?于是把所有的乱码都用简体字替换,脚本回放还是失败。 通过以上的两点试验,说明直接参数化的方法是行不通的,我们必须另找办法。 在LoadRunner中,为我们提供了一个字符串编码转换的函数lr_convert_string_encoding,用法如下: int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName); 该函数有4个参数,含义如下: sourceString:被转换的源字符串。 fromEncoding:转换前的字符编码。 toEncoding:要转换成为的字符编码。 paramName:转换后的目标字符串。

在本例中可以看到,我们需要把字符编码转换为UTF-8格式,因此用法如下: lr_convert_string_encoding("汽车",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str"); 这样一来,就成功地完成了字符串的编码转换。此时我们就可以对"汽车"这个参数进行参数化,参数化的方法很简单,地球人都知道!于是最终的脚本编码看起来像这样: lr_convert_string_encoding("lr__string("{name}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str"); 完整的示例代码如下: char string[5000]; char tmp[10]; lr_convert_string_encoding(lr__string("{name}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str"); strcpy(tmp,lr__string("{str}")); sprintf(string,"BodyBinary=<request><meta><verb>CALL</verb><tid>H001I</tid></meta> <data><assuid/><assutype>1</assutype><mortkind>04</mortkind><goodsasassuflag>0</goodsasassuflag> <assuname>%s</assuname><papertype>01< /papertype><paperno>鏆傛棤鍙风爜</paperno><paperrecedate /><papergrantorgan/><turncashabil>1< /turncashabil><incrensuabil>1< /incrensuabil><assuamt>1000000< /assuamt><otherassuamt>1000000.00< /otherassuamt><assuleftamt /><custid>A110102641122043#1</custid><custname>闇嶈景榫""x99</custname><repaynum>1< /repaynum><firstmortrate/><secondmortrate /><mortstate>0</mortstate><note /><housetype>0</housetype><houseframesign /><houseformsign>01</houseformsign><housestylesign /><houseaddr>鍘﹂棬</houseaddr><housearea>100< /housearea><compdate/><houseagreno/> <carmarksign>A1</carmarksign><carmodel/> <carno/><carengino/><carcolor/><caroutyear/><carrejeyear/><bankid>442000050</bankid> <operid>031</operid> </data></request>"r"n",tmp);

web_custom_request("CALL-H001I", "EncType=text/xml; charset=UTF-8", string, LAST);

LoadRunner中文乱码问题解决方案的更多相关文章

  1. LoadRunner中文乱码问题解决方法

    LoadRunner中文乱码问题解决方法 前段时间在录制,增强,整合LoadRunner脚本,期间两次遇到了中文乱码问题.在此记录一下中文乱码问题的解决办法. 一.录制回放中文乱码 我录制登陆的脚本, ...

  2. 使用Kettle抽取数据时,出现中文乱码问题解决方案

    使用Kettle在不同的数据库抽取数据时,有时会出现中文乱码问题:其解决方案如下: 1.查看数据库的字符集是否是UTF-8(最常用的字符集) 2.如果数据库设置正确仍然存在中文乱码,则可能是因为有的客 ...

  3. C# 读取oracle 中文乱码的解决方案

    用OracleDataAccess.dll访问oracle数据库,遇到中文乱码的情况. 解决方案如下: 1查看字符集编码, 在数据库服务器端 启动 sqlplus SQL->select use ...

  4. Cygwin 各种情况下中文乱码--终极解决方案

    0.引言 本人从进公司以来一直负责公司Android平台下产品的NDK开发,用的工具: 01. Google的adt-bundle(集成了eclipse和sdk) 02. NDK 03. Cygwin ...

  5. Spring Boot 中文乱码问题解决方案汇总

    使用 Spring Boot 开发,对外开发接口供调用,传入参数中有中文,出现中文乱码,查了好多资料,总结解决方法如下: 第一步,约定传参编码格式 不管是使用httpclient,还是okhttp,都 ...

  6. mysql插入表数据中文乱码问题解决方案

    一.问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: Incorrect string value: '\xE6\x88\x91' for column 'name' ...

  7. 关于 IntelliJ 的 IDEA PyCharm 等更新 2019.2 后中文乱码 的解决方案

    关于IntelliJ 的2019.2 更新后的中文乱码解决方案 设置 备用字体 file -> Setting -> Editor ->Font 由于编程常用英文首选字体font默认 ...

  8. xampp3.2下mysql中文乱码终极解决方案

    xmapp3.2.2中mysql已经被替换成了Mariadb,网上那些显示char语句已经失灵. 另外本文主要介绍的是手动在mysql中写入中文乱码问题 那么我们将采用如下三个步骤解决乱码问题 1.打 ...

  9. MySql 中文乱码排查解决方案

    MySQL会出现中文乱码的原因不外乎下列几点: server本身设定问题,例如还停留在latin1 table的语系设定问题(包含character与collation) 客户端程式(例如php)的连 ...

随机推荐

  1. MapReduce排序输出

    hadoop的map是具有输出自动排序功能的~继续学习~ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.c ...

  2. 异步编程 z

    走进异步编程的世界 - 开始接触 async/await 序 这是学习异步编程的入门篇. 涉及 C# 5.0 引入的 async/await,但在控制台输出示例时经常会采用 C# 6.0 的 $&qu ...

  3. A*算法入门

    来源:http://www.cppblog.com/mythit/archive/2009/04/19/80492.aspx 在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法. 启发式搜索 ...

  4. Codeforces 723c [贪心][乱搞]

    /* 不要低头,不要放弃,不要气馁,不要慌张. 题意: 给一个n和m. 第二行给n个数. 每次操作可以把n个数中的任何一个数替代为别的数,问最少的操作次数使得1.2.3.4.5...m中的数出现的次数 ...

  5. Sql的一些概念

    聚合函数 聚合函数可以返回整个或者几个列或者一个列的汇总数据,它常用来计算SELECT语句查询的统计值.聚合函数经常与SELECT语句的GROUP BY 子句一同使用.

  6. sql语句Group By用法-转载

    sql语句Group By用法一则 2007-10-25 12:00 sql语句Group By用法一则 如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么 ...

  7. 创建struct类型的数组

    在autoit中,如何创建类似这样的数组呢?如下方式,数组的element只是存储的地址相邻,所以我们可以这样做 $tagMYSTRUCT = "int code; char msg[10] ...

  8. mybaties中的selectKey和useGeneratedKeys=true

    <!-- 账户创建 --><insert id="create" parameterType="Account"> <select ...

  9. [转载]: delphi中XLSReadWrite控件的使用(3)---基本应用

    这是自带的一个例子,看懂这一点东西,基本的操作应该没问题了.... unit Main; interface uses Windows, Messages, SysUtils, Variants, C ...

  10. 利用 Gulp 处理前端工作流程

    最近做项目,因为每次做完后都要手动压缩CSS.JS 等文件,压缩后另存为 *.min.xxx. Less 还要手动输入命令进行编译,调整页面也经常要手动刷新页面看效果,很麻烦,就尝试用 gulp 去处 ...