我取到一泰语字串,放入WCHAR的字串中,然后我想用WideCharToMultiByte将字串转换成char类型,然后再用MultiByteToWideChar转换到WCHAR类型的的字串中,用richedit显示,却不能正显示了?为什么?用WideCharToMultiByte转换后的字串进行显示和用MultiByteToWideChar再进行转换字串后用rcihedit控件显示却发现是一样的,为什么?
调试欢乐多
把unicode转成char 类型时
由于ansi中没有对应字符,
就把unicode的前后分别转了
所以显示错误,
再转回时它认为的是char类型转到unicode
于是在每个unicode类型的高位补0内容根本还是和原来char类型相同不好意思,我没有具体去写一个去看看
只是我的推测
你可以跟踪一下变量里的内容看看
能找到问题
解决的办法我还不知道:(
2.“用WideCharToMultiByte转换后的字串进行显示和用MultiByteToWideChar再进行转换字串后用rcihedit控件显示却发现是一样的”,只是显示一样,我建议你Debug的时候看看Memory部分,就是比较一下转换前后的两块Memory里面的内容是否相同(字符串首地址肯定拿得到的,对吧?),同时,选定一个泰语字符(你知道编码的),看看转换后在Memory中的编码对不对,如果对,那就不是转换的问题,如果不对,就是转换之前就出错了。
的我系统已安装了泰语,可以输入和显示泰语,RichEdit Control是可以支持泰语的,我用过的。
to krqii(蓝岛) 有可能是你说的问题,但怎么解决?
to AlvaChin(百尺竿头,卧薪尝胆)
你说我第二个问题我没注意,我要看看。
具体的技术细节不清楚
中间有必须用char的地方?
应该不会有吧
nt内核支持unicode
98倒是支持的差一些
但是感觉转换没有必要啊
如果中间有必须用char的地方
那也可以自己重载一下函数啊
unicode是UINT类型的嘛,
希望不要转
因为亚洲的unicode字符转成char真的不知道会给变成什么样子
同时支持汉语和泰语?
不同时支持时好像就有显示错误的问题
你看一下是不是字体的问题
windows程序设计里写了一点关于这个的
字体不支持的不能正确显示
我估计你遇到的应该是这个问题
解决办法我还是没有
你去查一下unicode字体的有关东西