51Testing软件测试论坛

标题: Socket协议发送报文中中文字段发送出去全部是问号。。 [打印本页]

作者: 22332    时间: 2016-4-21 11:11
标题: Socket协议发送报文中中文字段发送出去全部是问号。。
如题和图片所示,发送的是xml报文,"\xC9""\xCF""\xBA""\xA3""\xCA""\xD0"转为中文就是上海市,但是发送到终端看到的log始终是???,求碰到过这类问题的朋友教下如何解决!


作者: 22332    时间: 2016-4-21 11:13
还有,发送的报文在data.ws里,在Action中用函数lr_convert_string_encoding是带不进来的。
作者: jingzizx    时间: 2016-4-21 13:09
数据是在data.ws里,你如果修改的话,发送的报文长度,有没有变化?察看一下
再就是一般是在data.ws里进行参数化
作者: fhhh_eyou    时间: 2016-4-21 13:11
转换字符的使用'\'错误。
作者: 22332    时间: 2016-4-22 14:39
jingzizx 发表于 2016-4-21 13:09
数据是在data.ws里,你如果修改的话,发送的报文长度,有没有变化?察看一下
再就是一般是在data.ws里进行参数 ...

问题解决了,使用lr_convert_string_encoding("上海市",LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8, "stringInUnicode"); 先将要输入的汉字转换成乱码格式输出结果,发送报文时直接发送乱码格式如:memcpy(sendBuf+193,lr_eval_string("涓婃捣甯\x82"),16);,服务器读取的就是中文了。而且使用乱码时确实如你所说要改变报文长度,乱码的长度一般是中文报文长度的一倍长。




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