51Testing软件测试论坛

标题: Loadrunner 编码问题 [打印本页]

作者: testtoone    时间: 2011-9-27 15:38
标题: Loadrunner 编码问题
在提交表单时,LR录制下来 %u55BB%u56FD%u519B 诸如这样一串数据(也就是将汉字转换为unicode编码了);回放时,提示服务器编码报错。试了一种方法,将这些unicode编码转换为ANSI或者utf-8 编码;回放时,数据可以提交成功,但是表单显示是乱码。
为什么会这样呢?怎么解决这种乱码呢?(系统服务器是 utf-8 编码)
作者: testtoone    时间: 2011-9-28 08:38
再强调一点,这串字符是url 形式的语句
如果把汉字换为英文就显示正常
作者: PrefTest    时间: 2011-9-28 09:20
可尝试:
把录制选项中的Support charset选中UTF-8

使用lr_convert_string_encoding函数来转换编码
作者: testtoone    时间: 2011-9-28 13:12
谢谢!
不过这些都试过了
没有用
怀疑是不是LR对中文支持不友好呢
作者: qvbfnsc    时间: 2011-9-28 15:56
如果单独用web_convert_param("WCSP4","SourceEncoding=HTML","TargetEncoding=URL", LAST);还出现乱码,那就要将lr_convert_string_encoding和web_convert_param两者结合用;先用lr_convert_string_encoding,再用web_convert_param
如:
char tmp[50];
web_reg_save_param( "WCSP4", "LB=EVENTVALIDATION\" value=\"", "RB=\"", "Ord=1", "Search=Body", LAST );
    web_url("WorkflowView.aspx", "URL=XXXXX", "Snapshot=t1.inf", "Mode=HTML", LAST );
lr_convert_string_encoding(lr_eval_string("{WCSP4}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");
//将[中文]转换为UTF-8格式的字符
strcpy(tmp,lr_eval_string("{str}"));
//将转换后的字符存入tmp变量中
lr_log_message("str is %s",tmp);
lr_save_string(tmp,"WCSP4_1");
web_convert_param("WCSP4_1","SourceEncoding=HTML","TargetEncoding=URL", LAST);
web_submit_data("WorkflowView.aspx","Action=XX",.....ITEMDATA, "Name=__EVENTVALIDATION", "Value={WCSP4_1}", ENDITEM, ......LAST);




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2