⑴ 程序裡面字體顯示亂碼
漢字出現亂碼有好幾種情況,大致可分成四類:網頁、文本、文檔和文件亂碼。第一類是由於港台的繁體中文大五碼(BIG5)與大陸簡體中文(GB2312)不通用造成的;第二類是Win9X/Win2K系統(菜單、桌面、提示框)顯示亂碼,這是Win9X/Win2K注冊表中有關字體的部分設置不當引起的;第三類是各種應用程序(包括游戲)本來顯示中文的地方出現亂碼,形成原因比較復雜,有第二類的亂碼原因,也可能是軟體用到的中文動態鏈接庫被英文動態鏈接庫覆蓋造成的;最後一類是郵件亂碼。
由於樓主你沒有說清楚具體是什麼,所以只好寫長一些了,呵呵,希望樓主有耐心看完:
(一)、網頁、文本和文檔文件亂碼的消除
網頁亂碼是瀏覽器(如IE等)對HTML網頁解釋時形成的。如果在網頁的代碼中有形如:〈HTML〉〈HEAD〉〈META CONTENT=「text/html;charset=ISO-8859-1」〉〈/HEAD〉……〈/HTML〉的語句,瀏覽器在顯示此頁時,就會出現亂碼。因為瀏覽器會將此頁語種辨認為「歐洲語系」。解決的辦法是將語種「ISO-8859-1」改為GB2312,如果是繁體網頁則改為BIG5。
另一種解決辦法是不修改網頁代碼,事先為瀏覽器安裝多語言支持包(例如在安裝IE時要安裝多語言支持包),這樣在瀏覽網頁出現亂碼時,就可以在瀏覽器中選擇菜單欄下的「查看」/「編碼」/「自動選擇」/簡體中文(GB2312),如為繁體中文則選擇「查看」/「編碼」/「自動選擇」/繁體中文(BIG5),其它語言依此類推選擇相應的語系,這樣可消除網頁亂碼現象。
還有一種解決辦法是利用多內碼顯示平台來轉換內碼。常用多內碼顯示平台有:「南極星」、「四通利方」、「MagicWin 98等等。
網頁無亂碼保存的方法是:用瀏覽器打開網頁時,在「查看」/「編碼」中選擇「自動選擇」,存檔時保存類型選「web頁」,編碼選擇「UNICOD」,這樣保存過的網頁再次打開時,在瀏覽器菜單「查看」、「編碼」中不管選擇簡體中文(GB2312)、簡體中文(HZ)還是UNICODE(UTF-8)或繁體中文(BIG5),最終顯示都不會出現亂碼。
文本、文檔文件亂碼,一般是繁體中文顯示在簡體中文系統下或者相反情況造成的。只要把原本是繁體的內碼轉換為簡體內碼(或者相反),就可消除亂碼。
Word能勝任這類工作,例如要把繁體中文轉換為簡體中文,方法是:選擇要轉換內碼的文件,在彈出的對話框中,選擇「其它編碼」中的「繁體中文(BIG5)」一項,打開此文件時就不會出現亂碼。無亂碼保存方法:在保存時選擇「文件」中的「另存為」,先存為「Word文檔,存檔後打開再存為純文本等其它格式;您也可以用Word的「中文簡繁轉換」工具實現無亂碼保存,方法是在菜單欄中選擇「工具/語言/中文簡繁轉換」,內碼轉換後再保存。
除此之外,消除這類亂碼還可用內碼轉換工具,對BIG5(繁體中文)和GB2312(國標碼、簡體中文)進行相互轉換來實現。常用的內碼轉換工具有:「颶風簡繁通、「內碼轉換大師、「華語通、「兩岸通漢字內碼轉換器等等
(二)、Win9X/Win2K系統亂碼的消除
這類亂碼是由於注冊表中關於字體部分配置不正常造成的,即使您用內碼翻譯軟體如四通利方、南極星、Magic Win98、兩岸通等處理也不會消除。解決辦法是:恢復注冊表中關於字體部分設置。
如有一台Win9X/Win2K版本相同且顯示正常的機器,則可依下列步驟進行恢復:
1.在正常機器上選擇「開始」/「運行」,在對話框中鍵入「REGEDIT」,打開注冊表編輯器;
2.游標定位到「HKEY_LOCAL_MACHINE\ SYSTEM\CURRENT CONTROL SET\CONTROL\ FONTASSOC」,選擇「注冊表/導出注冊表文件」,再選擇「分支」,導出該分支注冊表信息到文件(如LI.REG)中;
3.把LI.REG文件Copy到顯示亂碼的機器上,在顯示亂碼機器上運行REGEDIT,選擇「注冊注冊表」/「導入注冊注冊表」,把LI.REG文件導入注冊表中。
如沒有Win9X/Win2K版本相同且顯示正常的機器,則需要您手工恢復字體部分注冊表項,按以下步驟:
1.在亂碼機器上打開「開始」——「運行」——REGEDIT,然後回車,打開注冊表編輯器;
2.找到「HKEY_LOCAL_MACHINE\SYSTEM\ CURRENT CONTROL SET\CONTROL\FONTASSOC」,正常情況下,會有ASSOCIATED DEFAULTFONTS、ASSOCIATED CHARSET兩個文件夾,其正確的內容為:
子目錄內容
中文Win98
中文Win98(OEM版)
中文Win2K
AASOCIATED CHARSET
ANSI(00)=「yes」
GB2312(86)=「yes」
DEN(FF)=「yes」
SYMBOL(02)=「no」
ANSI(00)=「yes」
GB2312(86)=「yes」
OEM(FF)=「yes」
SYMBOL(02)=「no」
ANSI(00)=「yes」
OEM(FF)=「yes」
SYMBOL(02)=「no」
ASSOCIATED DEFAULT
FONTS
AssocSystemFont=「simsun.ttf」
FontPackageDecorative=「宋體」
FontPackageDontcare=「宋體」
FontPackageModern=「宋體」
FontPackageRoman=「宋體」
FontPackageScript=「宋體」
FontPackageSwiss=「宋體」
同左欄
AssocSystemFont=「simsun.ttf」
FontPackage=「新宋體」
FontPackageDecorative=「新宋體」
FontPackageDontcare=「新宋體」
FontPackageModern=「新宋體」
FontPackageRoman=「新宋體」
FontPackageScript=「新宋體」
FontPackageSwiss=「新宋體」
3.當出現漢字亂碼時,上述兩個文件夾中內容就會不完整,有的沒有ASSOCIATED CHARSET文件夾或其中內容殘缺不全;有的ASSOCIATED DEFAULTFONTS下內容殘缺。只要用REGEDIT在「HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\ CONTROL\FONTASSOC」下,根據以上正確內容恢復即可。
(三)、應用程序(包括游戲)亂碼的消除
中文軟體菜單等顯示界面上出現亂碼,可能是由於Windows注冊表中關於字體設置的信息不正確地改變而造成的,這時候可以用上述第2點介紹的辦法去解決。
如果用上法解決不了,那就是因為軟體的中文鏈接庫被英文鏈接庫覆蓋而引起的,這種現象經常發生在用微軟開發工具例如VB、VC開發的中文軟體上,這類軟體中,菜單等顯示界面上的漢字都是受一個動態鏈接庫(DLL文件)控制,而軟體的這個動態鏈接庫一般安裝在Windows的System目錄下,如果以後安裝了某個英文軟體也使用同名的動態鏈接庫,則英文軟體的動態鏈接庫就會覆蓋WINDOWS\SYSTEM下的中文軟體的動態鏈接庫,這樣,運行中文軟體時就會調用英文的動態鏈接庫,因此出現亂碼。解決辦法是重新安裝中文軟體,恢復中文動態鏈接庫即可。
(四)、郵件亂碼的消除
1.郵件亂碼原因及其排除
郵件亂碼的形成原因很多,主要有以下幾個方面:
(1)郵件伺服器不支持8位(非ASCII碼格式)
傳輸郵件傳輸機制或郵件編碼的不同,可能造成郵件伺服器不支持8位(非ASCII碼格式)傳輸而形成郵件亂碼。例如直接發送中文或二進制等非ASCII碼格式的郵件(如中文雙位元組文件、圖片文件.jpg、可執行文件.exe或壓縮文件.zip等二進制文件)時,郵件伺服器有可能無法處理,便把信件中每個字元的第8位都過濾掉,從而造成郵件信息的失真或損壞,在收到郵件時就是一堆亂碼。
對策:在發送8位格式的文本文件時,必須事先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然後才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件後,可以再轉換為8位的格式,這樣就可避免亂碼。
(2)收發端使用的E-mail軟體和設置不同
一般E-mail軟體的「附件」功能都可以自動對信件先進行編碼,然後送出。這樣只要收信人使用的E-mail軟體(如Outlook、Netscape E-mail等)能區別信件的編碼方式,就可以自動將信件解碼。然而由於收發件人所用的E-mail軟體默認配置不同或收發件人自己定製的一些選項不同,所以在收到編碼的信件後,系統不一定能識別出信件所用的編碼方法,自然無法自動解碼,這樣就會出現亂碼。
對策:可以用Winzip+IE來解碼,方法是:把亂碼郵件的內容,拷貝到剪貼板中,然後將其粘貼到記事本中,存為文本文件(例如LI.txt),再將其後綴改為.uue(改為LI.uue),點擊此文件,會啟動Winzip,然後啟動IE,把Winzip中的001.txt文件拖到IE窗口中,就會顯示郵件原來的內容,而不會看到亂碼。
也可以根據郵件中的關鍵字元判斷編碼方法,選取合適的解碼軟體進行解碼。
郵件的編碼方式主要有:UUENCODE、Base64 encode、QP-encode、BINHEX等。
UUENCODE:這是UNIX環境下使用的編碼方式,目前已經很少用,大體格式為:
begin 644 kk.zip M1G)O;2!I;&EN+F)B3T!C(VEE+FYC='4N961U+G1W(%=E9"!.;W8@(#8@,3(ZM,SDZ,C4@,3DY-@I296-E:79E9#H@9G)O;2!F;&%B;6%I;"YF;&%B+F9U:FET……
end
特徵:亂碼前面含有「begin xxx」,後面是編碼前的原始文件名(如kk.zip),接著是已經過編碼的信件內容(如上述的亂碼部分)最後一行為「end」。
解碼辦法:可用BECKY!EUDORA等E-mail軟體,選擇編碼中相應的選項就可解碼,也可以在E-mail軟體中保存亂碼郵件,存為後綴為「.UUE」格式的文件,然後用Winzip解碼展開。解碼後就會消除亂碼。
MIME/BASE64 encode:該編碼方式將3個位元組(8位)用4個位元組(6位)表示,由於編碼後的內容是6位的,因此可避免第8位被截掉,大體格式為:
MIME-Version:1.0
Content-Type:text/plain; charset="us-ascii"
Content-Transfer-Encoding:base64
Status:R
+sXqsT6Skp OWrSKXzsN3DRLFNrmGhqq0Kq1+sTqq6vdCx<BR>0LF6tFit07Ddw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN……
特徵:亂碼前一般有如下幾部分「信頭」:Content-Type(內容類型)、charset(字元集)和Content-Transfer-Encoding(內容傳輸亂碼方式)。
解碼辦法:用E-mail軟體,選擇編碼中Base64 選項就可解碼,解碼後會消除亂碼。
QpencodeQP:全稱「Quoted-Printable Content-Transfer-Encoding」。因為這種格式郵件的內容都是ASCII字元集中可以列印的字元,所以名稱中含有Printable。大體格式為:
=A1A=B1z=A6n=A1I=A7=DA=A6b=BA=F4=B8=F4=A4W
=B1o......
=E5==ABH=A5=F3=B0=DD=C3D=B1M=Aea=A1A......
特徵:內容通常有很多等號「=」,因此不需要看「信頭」也可以判斷是否為QP編碼。
解碼辦法:把郵件中類似A1A=B1z=A6n...的部分編碼全部復制下來,貼到一個新的純文本文件中,然後在文件頭部加入Quoted-Pintable格式的文件頭:
Contenet-Type:text/plain;Charset="GB2312"
Content-Transfer-Encoding;Quoted-Pintable
然後以「EML」為後綴保存文件,用資源管理器雙擊打開文件即可顯示正確的內容。如果還有部分漢字亂碼,可以用Winzip對存檔後的EML文件進行解壓,即可看到正確的內容。
BINHEX:這種編碼方式大體格式為:
(This file must be converted with Binhex4.0)
ssTqq6vdCx<BR>
oz6XOIE……
解碼辦法:用E-mail軟體對它解碼;也可在E-mail軟體中保存亂碼郵件,存為後綴為「.HQX」格式的文件,然後用Winzip解碼展開。
解碼後會消除亂碼。
UTIF-7/UTIF-8:它們是UNICODE的兩種轉換碼。
UTIF-7編碼方式大體格式為:
+SGmhQbF/6pm6hSafapmK69L/j0pFexb6q+sXqsT6Skp. OWrSKXzsN3DRLFNrmGhQQ0Kq1-sTqq6vdCx<BR>0LF6tFit07Ddw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN……
解碼辦法:在原E-mail頭加入以下信息:
MIME-Version:1.0
Content-Type:text/plain; charset="utf-7"
Content-Transfer-Encoding:7bit
插入後與字元留一空行,將郵件存為「EML」後綴,然後用Outlook即可解碼,消除亂碼。
UTIF-8
解碼辦法:在原E-mail頭加入以下信息:
MIME-Version:1.0
Content-Type:text/plain; charset="utf-8"
Content-Transfer-Encoding:8bit
將郵件存為「EML」後綴,然後用Outlook即可解碼,消除亂碼。
(3)操作系統語種不同
對於中文電子郵件,如果收信方所用的操作系統是英文環境而且沒有外掛中文系統或未切換為中文(如四通利方或南極星等)編碼方式,也會無法看到中文只見亂碼。所有的雙位元組字元(如中文簡/繁體的GB和BIG5碼及日文的JIS、EUC和朝鮮文的 KSC碼等)在非本語種操作系統下都會出現亂碼。同樣在中文簡體的GB碼環境下看其它雙位元組字元時也只能看到亂碼。
對策:安裝多語言支持包或使用多內碼顯示平台(如四通利方或南極星等),對收到的郵件,根據其使用的語種切換到相應的編碼方式即可消除亂碼。
2.為了避免別人收到亂碼,發信方應注意:
(1) E-mail軟體中的正確設置
使用英文E-mail軟體應設置成:
文字設定Default CHARSET:ISO 8859-1
(Latin1)
編碼方式Encoding:Quoted-Printable,不可選擇7位(因為7位不支持中文)
字碼頁Code Page(可選):936或HZ-GB-2312,
以支持整字識別郵件格式:MIME
字體:宋體
中文E-mail軟體應設置成:
文字設定Default CHARSET:簡體中文GB2312
編碼方式Encoding:Quoted-Printable郵件格式:MIME
字體:宋體
Outlook Express中應把「簡體中文(GB2312)作為默認的郵件使用語言,選擇「國際設置」/為接收的所有郵件使用默認的編碼。
(2)發送前將郵件按7位格式重新編碼
在發送8位格式的文本文件時,必須事先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然後才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件之後,可以再轉換為8位的格式,這樣就可以閱讀了。
在郵件客戶端軟體中的書寫(撰寫)選項中,設定默認自動為7位編碼。
(3)轉換成合適的內碼
在E-mail軟體的書寫(撰寫)選項中,設定默認自動為7位編碼。對用漢字系統編輯的中文郵件在發送前,最好在固定的簽字欄中註明自己所使用的漢字碼標准(如:GB2312、中文HZ、GBK);港澳台及東南亞地區郵件作者在使用BIG5碼撰寫完郵件、向內地發送前要轉換成上述三種簡體國標碼中的一種形式並在簽字欄中註明。如不轉換則可能無法閱讀,因為國內用戶使用的郵件系統有很多不支持BIG5碼。
(4)發送重要信息時先發測試信
發送重要信息時,為了確認是否無須編碼即可發送正文,應該先發送測試信。而且還應確定收件人能否對附件文件進行解碼。如果發送已經編碼的郵件,則最好添加足夠的「信頭」信息,以便收件人知道所需的解碼方法。建議對UUENCODE/UUDeview編碼方式用UUENCODING作信頭,對Mpack編碼方式用Base64 encoding作信頭。
(5)盡量利用「附件」功能發送文件
幾乎所有的郵件軟體,如Netscape、The Bat!、 Becky! 等郵件系統附加這類非標准 ASCII碼格式的文件時,附加文件通常可以自動進行「Base64」方式編碼(僅對附件部分進行編碼)。在用「附件」方式發送郵件之前,無需進行編碼;否則適得其反。因為郵件軟體能夠自動成功解碼這類「附加」文件,因此在發送中文類郵件時應該首選這種方法。
如果無法以附件方式發送文件,則必須在正文中發送中文或二進制文件如果發/收件人之間遠隔萬里,則傳送過程中,第八位將可能被截掉。這時最好先在正文中用中文給收件人發一封測試信,並了解對方能否正確收到郵件正文。如果第八位被截掉,則收件人將會看到一些亂碼,而不是上述的uu/b64/Qp等格式,而且這種信件幾乎不可恢復。
對策:在Netscape、Eudora或Pegasus Mail等你所使用的郵件系統中,選擇其首選項或選項配置中的「Quoted Printalbe」或「MIME encoding」。
(6)選擇優秀的客戶端郵件軟體
選擇優秀E-mail收發軟體可有效解決郵件亂碼。
3.為排除亂碼,收信方應注意:
查找郵件:簽字欄或正文中有無指明本郵件所使用漢字標准碼類別的英文字元;在「查看(V)」下拉菜單中選中「語言」,隨後出現的菜單中會包括本系統所能支持的全部漢字標准,在其中單擊郵件中所指明的一種。如果收到的郵件中沒有指明其所使用的漢字標准,則只可按順序單擊,直到郵件正文顯示正確為止(數個漢字標准中必有一個前面有「.」標記,此即您編輯器所用的漢字標准)。若使用的是Netscape,可在Option菜單的Document Encode中選擇相應的項目。
4.在非中文平台上中文郵件不出現亂碼方法
當對方沒有中文平台而打開您發的中文郵件時,就會出現亂碼。解決辦法有兩種:
(1)用E-mail AID之類的工具
UCWIN GOLD 1.0附帶的工具E-mail AID可把文本文件轉換為AID格式文件,大小隻比原TXT文件增加幾K。寫好中文郵件後,用文本格式存檔,然後用E-mail AID以AID格式保存,最後把此文件連同E-mail AID一起作為附件插在信中。對方收到信後,只需運行E-mail AID打開AID格式文件即可看到漢字,不管對方在何語言平台下,都不會出現亂碼。
(2)把中文郵件以圖形格式保存
用畫筆等繪圖軟體書寫中文郵件,在圖片中輸入文字,用默認的BMP格式保存,將屬性置為黑白模式(以減少BMP圖片體積),然後用Winzip把它壓縮成ZIP格式,作為附件在郵件中發送,這樣不管對方在何語言平台下,都不會出現亂碼。這種方法的缺點是生成的BMP中文郵件體積太大。
⑵ 為什麼我手機微信小程序字體顯示不全 或錯亂有什麼解決方法
你可以刪除小程序後再重新進入試試,如果還是不行,可以備份資料後試試卸載微信,然後重新安裝試試。望採納,謝謝!