gg0 发表于 2014-9-4 11:37:38

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:17

您好,AnyChat for Windows平台默认是采用GB2312编码,建议您将工程设置为“多字节编码”格式,通常VS2010新创建的工程默认是“Unicode编码”

另外您还需要考虑一下Qt是采用的什么编码格式?

gg0 发表于 2014-9-4 14:35:40

admin 发表于 2014-9-4 11:41
您好,AnyChat for Windows平台默认是采用GB2312编码,建议您将工程设置为“多字节编码”格式,通常VS2010 ...

非常感谢,根据您说的,仔细检查了一下程序的编码,发现是预处理器中依旧设置了unicode编码导致的,删除后可以顺利收发中英文,谢谢!
页: [1]
查看完整版本: windows下中文发送与接收不一致