中文字符在纯英文系统下乱码,MultiByteToWideChar不行。

mdcire 2017-02-06 05:42:16
情况是这样的,客户端和服务器共同使用一个结构体通信,这个结构体中字符使用char*表示的而不是wchar_t*,服务器在中文系统下将中文字符通过这个结构体使用socket传给客户端,客户端在纯英文系统(Win10)下显示为? 请教一下这个问题该如何解决?使用使用MultiByteToWideChar,WideCharToMultiByte,T2A等方法都不行。英文系统默认非unicode显示为English。但是在系统的记事本中是可以显示中文的。这种情况需要修改结构体中的char*为wchar_t*吗?
...全文
311 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dobzhansky 2017-02-07
  • 打赏
  • 举报
回复
要适应不同默认locale 机器的情况, 结构体中的char* 必须使用一个确定的编码,不能用 CP_ACP, 建议使用 UTF8.
显示时,统一转换为 unicode 显示。
赵4老师 2017-02-07
  • 打赏
  • 举报
回复
没准还得安装对应字体。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧