22332 发表于 2016-4-21 11:11:22

Socket协议发送报文中中文字段发送出去全部是问号。。

如题和图片所示,发送的是xml报文,"\xC9""\xCF""\xBA""\xA3""\xCA""\xD0"转为中文就是上海市,但是发送到终端看到的log始终是???,求碰到过这类问题的朋友教下如何解决!

22332 发表于 2016-4-21 11:13:48

还有,发送的报文在data.ws里,在Action中用函数lr_convert_string_encoding是带不进来的。

jingzizx 发表于 2016-4-21 13:09:27

数据是在data.ws里,你如果修改的话,发送的报文长度,有没有变化?察看一下
再就是一般是在data.ws里进行参数化

fhhh_eyou 发表于 2016-4-21 13:11:17

转换字符的使用'\'错误。

22332 发表于 2016-4-22 14:39:43

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);,服务器读取的就是中文了。而且使用乱码时确实如你所说要改变报文长度,乱码的长度一般是中文报文长度的一倍长。
页: [1]
查看完整版本: Socket协议发送报文中中文字段发送出去全部是问号。。