真正的超级难题,汉字的UNICODE转换.
写了如下一个UNICODE程序:
char * str = "你好";
GetDlgItem(IDE_EDT_TEXT)->SetWindowText(A2W(str));
如上代码,在中文系统下显示正常.
但是到下面这样的英文系统上运行,就是乱码:
纯英文系统+中文语言包
如果把 纯英文系统+中文语言包设置为:
纯英文系统+中文语言包+控制面板里的区域和语言设置中的UNICODE设置选上.
上面代码又可以运行正常了.
现在要解决的问题就是如何在:
纯英文系统+中文语言包
下运行正常,感觉是A2W出了问题,我改用 MultiByteToWideChar(CP_ACP ...);
一样不行.
不知道汉字从ANSI转换成UNICODE有什么需要特别注意的地方?