AnyChat技术支持论坛
标题:
windows下中文发送与接收不一致
[打印本页]
作者:
gg0
时间:
2014-9-4 11:37
标题:
windows下中文发送与接收不一致
环境是windows 7(x86),visual studio 2010,qt 4.7.4。
源数据为qt的QString格式,使用LPCTSTR test = (LPCTSTR)message.data(); 将QString格式的message转为LPCTSTR,然后调用DWORD SendTextMessage(DWORD dwUserid, BOOL bSecret, LPCTSTR lpMsgBuf, DWORD dwLen)进行发送,触发TextMessage_CallBack回调函数接收数据,但是当内容为中文时,接收到的LPCTSTR格式的数据一直出错,比如发送的是“测试”,接收到的会是“测试/12354/12350/15326“这样的数据,请问是为什么?是不是我使用的方式不对?
作者:
admin
时间:
2014-9-4 11:41
您好,AnyChat for Windows平台默认是采用GB2312编码,建议您将工程设置为“多字节编码”格式,通常VS2010新创建的工程默认是“Unicode编码”
另外您还需要考虑一下Qt是采用的什么编码格式?
作者:
gg0
时间:
2014-9-4 14:35
admin 发表于 2014-9-4 11:41
您好,AnyChat for Windows平台默认是采用GB2312编码,建议您将工程设置为“多字节编码”格式,通常VS2010 ...
非常感谢,根据您说的,仔细检查了一下程序的编码,发现是预处理器中依旧设置了unicode编码导致的,删除后可以顺利收发中英文,谢谢!
欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/)
Powered by Discuz! X3