设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3813|回复: 2
打印 上一主题 下一主题

windows下中文发送与接收不一致

[复制链接]

18

主题

42

帖子

414

积分

中级会员

Rank: 3Rank: 3

积分
414
跳转到指定楼层
楼主
发表于 2014-9-4 11:37:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
环境是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“这样的数据,请问是为什么?是不是我使用的方式不对?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
沙发
发表于 2014-9-4 11:41:17 | 只看该作者
您好,AnyChat for Windows平台默认是采用GB2312编码,建议您将工程设置为“多字节编码”格式,通常VS2010新创建的工程默认是“Unicode编码”

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

回复 支持 反对

使用道具 举报

18

主题

42

帖子

414

积分

中级会员

Rank: 3Rank: 3

积分
414
板凳
 楼主| 发表于 2014-9-4 14:35:40 | 只看该作者
admin 发表于 2014-9-4 11:41
您好,AnyChat for Windows平台默认是采用GB2312编码,建议您将工程设置为“多字节编码”格式,通常VS2010 ...

非常感谢,根据您说的,仔细检查了一下程序的编码,发现是预处理器中依旧设置了unicode编码导致的,删除后可以顺利收发中英文,谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-23 18:33 , Processed in 0.129798 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表