【转】Wince中文乱码解决方法

时间:2020-12-08 14:38:00

http://www.cnblogs.com/we-hjb/archive/2008/11/27/1342651.html

如果WinCE的默认语言是英语,也没有支持MUI的话,很多中文的应用程序就不能正常显示了,汉字全变成了方框。这里介绍一种比较简便的方法,让那些方框变回有用的汉字,象变魔术一样。:-D

先说一下中文显示为乱码的两个原因。首先可能是应用程序本身的问题,在编写程序时没有正确配置工程和资源的语言。这时,即使在中文的WinCE系统下也不能正常显示汉字。第二种情况是应用程序本身没有问题,但WinCE是英文系统,也不支持MUI,这时汉字都变成方框。这是本“魔术”的道具。如果换做第一种,这“魔术”就失灵了。

第二种情况,不能显示中文的根本原因是没有中文字体,所以我们只要添加进中文字体,并且注册该字体就可以了。这是本魔术的秘密所在,够Easy的吧。:-D

具体步骤如下:拷贝simsun.ttc到\windows\的目录下,在注册表中添加如下信息:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]
      "Tahoma"="\\Windows\\simsun.ttc,NSimSun"
      "Courier New"="\\Windows\\simsun.ttc,NSimSun"
      "Arial"="\\Windows\\simsun.ttc,NSimSun"
      "Times New Roman"="\\Windows\\simsun.ttc,NSimSun"
      "Symbol"="\\Windows\\simsun.ttc,NSimSun" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SkipTable]
      "Tahoma"="005c,00a5,007e,0391-03c9,2026,2116,221a,25a0-25ff"
      "Arial"="005c"
      "Courier New"="005c"

调用函数AddFontResource(_T("\\windows\\simsun.ttc”))即可。

=====================================================

注:

使用以上方法时若失败,尝试将路径中的 " \\" 换成 " \"。