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