如何解决java协议的loadrunner脚本返回字符串乱码问题

在编写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);

 注意这里需要进行两次转义,一次转义无法搞定,坑了多次才解决。

posted @ 2015-12-27 17:45  燃灯胡同  阅读(616)  评论(0)    收藏  举报