51Testing软件测试论坛

标题: 关于LR发送出去的数据包是乱码的问题(不是录制) [打印本页]

作者: netldy    时间: 2006-6-29 21:36
标题: 关于LR发送出去的数据包是乱码的问题(不是录制)
LR版本:8.0
我最近用Web Service协议写了一个脚本,将一个XML文件的内容发送到服务器,服务器那边由于是采用utf-8格式来查看数据,所以对于我发送过去的数据里的中文都显示为乱码,不能正常翻译。后来发现LoadRunner发送出去的数据包是个XML文件,第一行就写了<?xml version="1.0" encoding="GB2312"?>,所以我又采用Http协议模拟Soap协议来完成此功能,我第一行就写了<?xml version="1.0" encoding="UTF-8"?>,结果依然,然后我在前面写了web_add_header("Content-Type", "text/xml; charset=UTF-8");仍然是一样的结果!大家谁知道怎么设置才能让此数据包里的中文能够正常发送到服务器?(补充:服务器没有问题)
急!
作者: netldy    时间: 2006-6-30 14:16
用lr的自带函数 lr_convert_string_encoding(xmlstr,LR_ENC_SYSTEM_LOCALE,"utf-8","xmlstr5")转换之后,为什么字符串多了个"\x00",怎么去掉"\x00"?
还有上面的问题怎么解决?大家快帮我想想办法!拜谢!!!
作者: 27361984    时间: 2007-4-12 17:53
我也遇到这个问题了,有达人知道好的解决方法吗?
作者: rickyzhu    时间: 2007-4-12 22:18
没有遇到过这样的问题,不过乱码一般都是编码格式不匹配,应该不影响功能。
作者: 27361984    时间: 2007-4-16 09:05
主要是POST的字段显示是乱码,但需要对该字段作参数化,若用中文则会报错,只有将中文转化为乱码才能成功。用lr_convert_string_encoding转化则象上面说的,会在后面加个/x00,也出错,郁闷了。
作者: yuanlj    时间: 2007-4-16 10:32
关注这个问题,我也正在探讨中
作者: ppent    时间: 2007-4-16 10:50
没有遇到过这种问题,所以也没有直接的经验。
我觉得用web_add_header("Content-Type", "text/xml; charset=UTF-8");应该是可以解决才对的啊,这个函数应该放在每个request的前面。
另外,可以用http查看工具看看你的客户端发送的请求和LR发送的内容上有什么不同。
作者: 27361984    时间: 2007-4-16 14:48
LR记录的和实际上发送的是一致的,唯一区别就是将发送的中文记录为乱码了,在LR中的tree模式下可以看到如楼主所说的LR自己添加了个头
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD>
在脚本中用web_add_cookie也没用,以前网上看过有人遇到类似的问题,好象是将操作系统改为英文的就可以解决,不过太麻烦了。

但是LR转换编码的lr_convert_string_encoding函数为什么转换后要加个/x00,有什么方法能去掉吗?
作者: ppent    时间: 2007-4-17 10:08
昨晚刚好看了以前的下载的资料,好像是LR的问题,据说打补丁后就可以了。
另外,修改操作系统的语言区域为英文也可以。
最后,可以用SOAP_REQUEST自己写脚本实现。

以上从论坛上网友提供的资料中提及,本人没有真是验证过,仅供参考。
作者: cherrybloom    时间: 2007-7-3 20:04
- -

唉,同样的问题~
作者: renheyou    时间: 2007-7-4 14:52
goooooooooooood
作者: cherrybloom    时间: 2007-7-5 10:22
有个解决方法没呀~

上述方法都试过了,不成啊




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