WinCE中文顯示亂碼的解決辦法
如果WinCE的默認(rèn)語(yǔ)言是英語(yǔ),也沒(méi)有支持MUI的話(huà),很多中文的應(yīng)用程序就不能正常顯示了,漢字全變成了方框。這里介紹一種比較簡(jiǎn)便的方法,讓那些方框變回有用的漢字,象變魔術(shù)一樣。:-D
先說(shuō)一下中文顯示為亂碼的兩個(gè)原因。首先可能是應(yīng)用程序本身的問(wèn)題,在編寫(xiě)程序時(shí)沒(méi)有正確配置工程和資源的語(yǔ)言。這時(shí),即使在中文的WinCE系統(tǒng)下也不能正常顯示漢字。第二種情況是應(yīng)用程序本身沒(méi)有問(wèn)題,但WinCE是英文系統(tǒng),也不支持MUI,這時(shí)漢字都變成方框。這是本“魔術(shù)”的道具。如果換做第一種,這“魔術(shù)”就失靈了。
第二種情況,不能顯示中文的根本原因是沒(méi)有中文字體,所以我們只要添加進(jìn)中文字體,并且注冊(cè)該字體就可以了。這是本魔術(shù)的秘密所在,夠Easy的吧。:-D
具體步驟如下:拷貝simsun.ttc到windows的目錄下,在注冊(cè)表中添加如下信息:
Code
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftFontLinkSystemLink]
"Tahoma"="Windowssimsun.ttc,NSimSun"
"Courier New"="Windowssimsun.ttc,NSimSun"
"Arial"="Windowssimsun.ttc,NSimSun"
"Times New Roman"="Windowssimsun.ttc,NSimSun"
"Symbol"="Windowssimsun.ttc,NSimSun"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftFontLinkSkipTable]
"Tahoma"="005c,00a5,007e,0391-03c9,2026,2116,221a,25a0-25ff"
"Arial"="005c"
"Courier New"="005c"
調(diào)用函數(shù)AddFontResource(_T("windowssimsun.ttc”))即可。
為了方便實(shí)現(xiàn),在驅(qū)動(dòng)調(diào)試助手中增加了這個(gè)功能,新程序和使用方法請(qǐng)到這里下載:
http://files.cnblogs.com/we-hjb/WINCEDM.rar
使用前后的對(duì)比圖如下。
使用過(guò)程簡(jiǎn)要說(shuō)明:拷貝simsun.ttc到windows的目錄后,點(diǎn)擊驅(qū)動(dòng)調(diào)試助手的第一個(gè)菜單中的“Support CHS”即可。