在编写java协议的loadrunner脚本时,服务器偶尔会返回部分中文字符,这部分字符在日志中直接打印时显示的是乱码,需要进行转义才行。原因是实际返回的字符时UTF-8格式,但是loadrunner中使用的是GB2312格式,使用String的构造函数 String(byte b[],"encoding")进行两次转码即可。
下面是代码:
web.reg_save_param("msg", new String[]{ "NOTFOUND=ERROR", "LB=msg\":\"", "RB=\",\"data", "LAST" }); autoAddHeader(); web.url("index", "url=" + host + "/index?token=<token>&doctorId=<doctorId>", new String[] { "TargetFrame=", "Resource=0", "RecContentType=application/json", "Snapshot=t1.inf", "Mode=HTML", "LAST" }); String message =new String(lr.eval_string("<msg>").getBytes(),"UTF-8");//先转义成UTF-8编码 String gb2312 = new String(message.getBytes("GB2312"));//获得GB2312格式的编码字符 lr.output_message(gb2312);
注意这里需要进行两次转义,一次转义无法搞定,坑了多次才解决。
时间: 2024-10-27 13:05:08