维语显示不正确的问题

accsoar 2015-10-30 01:28:51
在搞多语言,方法如下:

vs2008,multibyte MFC程序,非UNICODE

界面所有的文字信息都存在一个UTF8格式的ini文本文件里,程序里读出来后从utf8转为wchar再转成multibyte,然后显示在界面上。

试过韩语,操作系统的语言切成韩语Korean(Korea)后(控制面板,地区语言设置-管理-change system local...),显示没有问题

再试维吾尔族语,操作系统切成Uyghur(PRC),结果维语显示不正确,editbox里完全不对,static和button上似乎个别能显示出来,如下图,不知道什么原因

...全文
955 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2016-03-16
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
accsoar 2015-11-02
  • 打赏
  • 举报
回复
因为我们的软件已经实施好几年了,要改unicode很麻烦,所以要研究multibyte mfc程序的多语言。 操作系统切成Uyghur(PRC)的话,acp是1256,也就是阿拉伯,windows-1256 ANSI Arabic; Arabic (Windows) 网上查了下维吾尔族语和阿拉伯语的关系,好像是不是一个语系,但好像字母表相同(还是相似???) 试过Unicode 程序读取UNICODE ini文件再显示,没有问题。 然后我就尝试在非Unicode程序中读取unicode ini,再把unicode字符串转为multibyte,在转换的过程中就有问题了,部分字符出现问题,用的是WideCharToMultiByte(),第一个参数不管是用CP_ACP还是直接指定1256,结果都一样…… 目前就酱
zwfgdlc 2015-10-30
  • 打赏
  • 举报
回复
切换成维吾尔族语后,用GetACP()返回的代码页是多少
ArthurKingYs 2015-10-30
  • 打赏
  • 举报
回复
关注一下 用多字符集试试
worldy 2015-10-30
  • 打赏
  • 举报
回复
s2008,multibyte MFC程序,非UNICODE将字符串全部使用Unicode,输出的时候使用TextOutW之类的Unicode对应的方法
笨笨仔 2015-10-30
  • 打赏
  • 举报
回复
引用 2 楼 accsoar 的回复:
[quote=引用 1 楼 wxhxj0268 的回复:] 检查分2个部分:1、编码是否正确;2、显示字库是正确 编码错误查程序,显示错误查字库
编码是否正确怎么看? 字库又怎么看?[/quote] 找相同的字,能在正确的文本文件中显示,保存后用16进制编辑软件查看文件中字的编码。此问题本来为二选一,只要编码对了就可换字库试了
Eleven 2015-10-30
  • 打赏
  • 举报
回复
搞多语言,Unicode是首选啊~
accsoar 2015-10-30
  • 打赏
  • 举报
回复
引用 1 楼 wxhxj0268 的回复:
检查分2个部分:1、编码是否正确;2、显示字库是正确 编码错误查程序,显示错误查字库
编码是否正确怎么看? 字库又怎么看?
笨笨仔 2015-10-30
  • 打赏
  • 举报
回复
检查分2个部分:1、编码是否正确;2、显示字库是正确 编码错误查程序,显示错误查字库

15,979

社区成员

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

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