消除各種亂碼的方法

一 系統亂碼的消除方法 
這類亂碼是因爲在Windows註冊表中,關於字體部分配置不正常形成的,即便你用內碼翻譯軟件處理也不會消除這類亂碼。那怎麼辦呢?請跟我來: 

方法一:找一臺與你的Windows版本相同且顯示正常的機器,依下列步驟進行: 
1.在正常機器上選擇「開始」→「運行」,在對話框中鍵入「regedit」,打開註冊表編輯器; 
2.請你將光標定位到「HKEY_LOCAL_MACHINE\ system\CurrentControlSet\Control\Fontassoc」,而後選擇「註冊表」→「導出註冊表文件」,再選擇「分支」,導出該分支註冊表信息到文件(如ZT.REG)中; 
3.把ZT.REG文件拷貝到你那顯示亂碼的機器上,方法是:在顯示亂碼的機器上運行「regedit」,打開註冊表編輯器,選擇「註冊表」→「導入註冊註冊表」,把ZT.REG文件導入註冊表中便可。 

方法二:若是你找不到一臺與你的Windows版本相同且顯示正常的機器,則須要手工恢復字體部分的註冊表 
項,其步驟是: 

1.首先在顯示亂碼的機器上選擇「開始」→「運行」,在對話框中鍵入「regedit」,打開註冊表編輯器; 
2.選擇「HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Control\Fontassoc」,正常狀況下,會有Associated DeaultFonts、Associated CharSet兩個文件夾,其正確的內容應是: 

子目錄內容 
中文Win98 
中文Win98(OEM版) 
中文Win2000 
Associated 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 DefaultFonts 
AssocSystemFont=「simsun.ttf」 
FontPackageDecorative=「宋體」 
FontPackageDontcare=「宋體」 
FontPackageModern=「宋體」 
FontPackageRoman=「宋體」 
FontPackageScript=「宋體」 
FontPackageSwiss=「宋體」 
 
AssocSystemFont=「simsun.ttf」 
FontPackage=「新宋體」 
FontPackageDecorative=「新宋體」 
FontPackageDontcare=「新宋體」 
FontPackageModern=「新宋體」 
FontPackageRoman=「新宋體」 
FontPackageScript=「新宋體」 
FontPackageSwiss=「新宋體」 


3.當出現漢字亂碼時,上述兩個文件夾中的內容就會不完整,有的沒有Associated CharSet文件夾或其中的內容殘缺不全;有的Associated DefaulFonts下的內容殘缺。若是遇到這種狀況怎麼辦呢?其實你只要打開註冊表編輯器,在「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Fonassoc」下,根據以上的正確內容恢復便可。 

二 應用程序、遊戲亂碼的消除方法 
明明是中文軟件,可顯示界面上卻出現亂碼,這多是因爲註冊表中關於字體設置的信息不正確地被改變而形成的,通常是由於軟件的中文連接庫被英文連接庫覆蓋而引發的,這種現象常常發生在用微軟開發工具,例如VB、VC開發的中文軟件上。在這類軟件中,菜單等顯示界面上的漢字都是受一個動態連接庫「.DLL文件」控制,而軟件的這個動態連接庫通常是安裝在Win 98/2000的System目錄下的,若是之後你安裝了某個英文軟件也使用同名的動態連接庫,則英文軟件的動態連接庫就會覆蓋掉你原先的Windows\System下的中文軟件的動態連接庫。這樣,當你運行中文軟件時就會調用英文的動態連接庫,所以出現亂碼。解決辦法是從新安裝中文軟件,恢復中文動態連接庫便可。 

三 電子郵件亂碼的消除方法 
1.形成電子郵件亂碼的緣由不少,主要有如下幾個方面: 
(1)操做系統語種不一樣。對於中文電子郵件,若是收信方所用的操做系統是英文環境並且沒有外掛中文系統或未切換爲中文編碼方式,也會沒法看到中文,只見到亂碼。全部的雙字節字符(如中文簡/繁體的GB和BIG5碼及日文的JIS、 EUC和朝鮮文的 KSC碼等)在非本語種操做系統下都會出現亂碼。一樣在中文簡體的GB碼環境下看其餘雙字節字符時也只能看到亂碼。 

解決方法:安裝多語言支持包或使用多內碼顯示平臺,對收到的郵件,根據其使用的語種切換到相應的編碼方式便可消除亂碼。 

(2)郵件服務器不支持8位(非ASCII碼格式)。傳輸郵件的傳輸機制或郵件編碼的不一樣,可能形成郵件服務器不支持8位(非ASCII碼格式)傳輸而造成郵件亂碼。例如直接發送中文或二進制等非ASCII碼格式的郵件(如中文雙字節文件、圖片文件.jpg、可執行文件.exe或壓縮文件.zip等二進制文件)時,郵件服務器有可能沒法處理,便把信件中每一個字符的第8位都過濾掉,從而形成郵件信息的失真或損壞,在收到郵件時就是一堆亂碼。 

解決方法:在發送8位格式的文本文件時,必須事先進行編碼,將文件轉換爲7位ASCII碼或更少位數的格式,而後才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件後,能夠再轉換爲8位的格式,這樣就可避免亂碼。 

(3)收發端使用的E-mail軟件和設置不一樣。通常E-mail軟件的「附件」功能均可以自動對信件先進行編碼,而後再送出。這樣,只要收信人使用E-mail軟件就能區別信件的編碼方式,就能夠自動將信件解碼。然而因爲收發件人所用的E-mail軟件默認配置不一樣或收發件人本身定製的一些選項不一樣,因此在收到編碼的信件後,系統不必定能識別出信件所用的編碼方法,天然沒法自動解碼,這樣就會出現亂碼。 
解決方法: 

①能夠用WinZip+IE來解碼,請你把亂碼郵件的內容,拷貝到剪貼板中,而後將其粘貼到記事本中,存爲文本文件(例如YJ.txt),再將其後綴改成.uue(改成YJ.uue),點擊此文件,會啓動WinZip,而後啓動IE,把WinZip中的001.txt 文件拖到IE窗口中,就會顯示郵件原來的內容,而不會看到亂碼。 

②能夠根據郵件中的關鍵字符判斷編碼方法,選取合適的解碼軟件進行解碼。郵件的編碼方式主要有:UUENCODE、 Base64 encode、QPencode、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;"......end 

特徵:亂碼前面含有「begin xxx」,後面是編碼前的原始文件名(如kk.zip),接着是已通過編碼的信件內容(如上述的亂碼部分),最後一行爲「end」。 

解碼辦法:可用BECKY!EUDORA等E-mail軟件,選擇編碼中相應的選項就可解碼,也能夠在E-mail軟件中保存亂碼郵件,存爲後綴爲「.UUE」格式的文件,而後用Winzip 解碼展開。解碼後就會消除亂碼。 

MIME/BASE64 encode:該編碼方式將3個字節用4個字節表示,因爲編碼後的內容是6位的,所以可避免第8位被截掉,大致格式爲: 

MIME-Version:1.0 

Content-Type:text/plain; charset="us-ascii" 

Content-Transfer-Encoding:base64 

Status:R 

SGmhQbF6pm6hSafapmK69Lj0pFexb6q+sXqsT6Skp OWrSKXzsN3DRLFNrmGhQQ0Kq1+sTqq6vdCx 
0LF6tFit07D 

dw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiB 

JbnRlcm5ldCBN…… 

特徵:亂碼前通常有以下幾部分「信頭」: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) 

SGmhQbF6pm6hSafapmK69Lj0pFexb6qssTqq6vdCx 
0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9q 

oz6XOIE…… 

解碼辦法:用E-mail軟件對它解碼;也可在E-mail軟件中保存亂碼郵件,存爲後綴爲「.HQX」格式的文件,而後用WinZip解碼展開,解碼後會消除亂碼。 

UTIF-7/UTIF-8:它們是UNICODE的兩種轉換碼。 

UTIF-7編碼方式大致格式爲: 

+SGmhQbF/6pm6hSafapmK69L/j0pFexb6q+sXqsT6Skp. OWrSKXzsN3DRLFNrmGhQQ0Kq1-sTqq6vdCx 
0LF6tFit07Ddw0 

ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbn 

Rlcm5ldCBN…… 

解碼辦法:在原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便可解碼,消除亂碼。 

另外,還能夠採用如下方法解決: 

A.請你在Outlook Express 中,把「查看」→「編碼」選爲「簡體中文」; 

B.更改IE的設置:在IE瀏覽器中,打開「工具」 →「Internet選項(o)...」→「高級」,將「瀏覽」中「始終以 UTF-8 發送URL」選項前面的勾去掉; 

C.或將文件下載到本地硬盤裏面再打開(點擊鼠標右鍵選擇「文件另存爲…」)。保存文件時,文件名可能會是亂碼,只需更改該文件名便可; 

D.或直接使用文件名爲英文的附件,能夠直接在IE中打開。 

但有時仍不能奏效。 


③無心中,筆者近日在網上衝浪時發現了一個好東西:很酷的CodeView「亂碼察看器」!好事共享,不敢獨吞!這就趕忙介紹給朋友們: 
大名:亂碼察看器 

小名:CodeView 

版本:2.50 

系統平臺:Win 95/98/NT/2000 

CodeView「亂碼察看器」顧名思義就是用來察看各類亂碼的工具軟件,目前已經能夠支持MIME/BASE64,Quoted-Printable、HZ和UUCode 4種形式的編碼和解碼,經過一些特殊的算法,此程序還能夠解開部分因爲字節高位被屏蔽而造成的死亂碼(使用其餘方式的解碼),另外還提供了不少附加的功能,好比單鍵解碼功能和混合亂碼識別功能,使得使用本程序解碼變得很是容易和輕鬆,CodeView是綠色軟件,無需安裝,只要將獲得的壓縮文件解開到一個目錄中便可運行。它有兩種使用方法: 

方法一:在有亂碼的窗口中直接按下單鍵解碼熱鍵,默認爲F7,若是窗口中的亂碼能被識別,就會有一個窗口覆蓋當前的亂碼窗口,你能夠直接在這個窗口中閱解碼後的內容。在大多數狀況下,筆者建議你使用這個方式。 

方法二:將亂碼的內容經過剪貼板複製到CodeView「亂碼察看器」的源窗口中,而後你能夠試着用不一樣的解碼方式進行解碼。這種方式解碼將給你更多的選擇自由,而且可使用一些在單鍵解碼中沒法實現的解碼方式(主要是其餘方式解碼和UUCode解碼),對於一些單鍵解碼沒法解決的亂碼,你就可使用此方式來試試解碼。 

下載地址:http://www.skycn.com/soft/394.html 
2.避免別人收到亂碼郵件的方法: 

(1)發送前將郵件按7位格式從新編碼 

在發送8位格式的文本文件時,必須事先進行編碼,將文件轉換爲7位ASCII碼或更少位數的格式,而後才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件以後,能夠再轉換爲8位的格式,這樣就能夠正確閱讀了。在郵件客戶端軟件中的書寫選項中,設定默認自動爲7位編碼。 
(2)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)」做爲 


默認的郵件使用語言,選擇「國際設置」爲接收的全部郵件使用默認的編碼。 
(3)發送重要信息時先發測試 

當你須要發送重要信息時,爲了確認是否無須編碼便可發送正文,應該先發送測試信。並且還應肯定收件人可否對附件文件進行解碼。若是發送已經編碼的郵件,則最好添加足夠的「信頭」信息,以便收件人知道所需的解碼方法。建議你對UUENCODE/UUDeview編碼方式用UUENCODING做信頭,對Mpack編碼方式用Base64 encoding做信頭。 

(4)轉換成合適的內碼 

在E-mail軟件的書寫選項中,設定默認自動爲7位編碼。對用漢字系統編輯的中文郵件在發送前,最好在固定的簽字欄中註明本身所使用的漢字碼標準(如:GB23十二、中文 HZ、GBK);港澳臺及東南亞地區郵件做者在使用BIG5碼撰寫完郵件、向內地發送前要轉換成上述3種簡體國標碼中的一種形式並在簽字欄中註明。如不轉換則可能沒法閱讀,由於國內用戶使用的郵件系統有不少是不支持BIG5碼的。

(5)利用「附件」功能發送重要的文件 

郵件系統附加這類非標準 ASCII碼格式的文件時,附加文件一般能夠自動進行「Base64」方式編碼(僅對附件部分進行編碼)。在用「附件」方式發送郵件以前,無需進行編碼,不然拔苗助長。由於郵件軟件可以自動成功解碼這類 「附加」文件,所以在發送中文類郵件時應該首選這種方法。 

若是沒法以附件方式發送文件,則必須在正文中發送中文或二進制文件。若是發/收件人之間遠隔萬里,則傳送過程當中,第8位將可能被截掉。這時最好先在正文中用中文給收件人發一封測試信,並瞭解對方可否正確收到郵件正文。若是第8位被截掉,則收件人將會看到一些亂碼,而不是上述的uu/b64/Qp等格式,並且這種信件幾乎不可恢復。 

解決方法:在你所使用的郵件系統中,選擇其首選項或選項配置中的「Quoted Printalbe」或「MIME encoding」便可。 

3.非中文平臺上,使中文電子郵件不出現亂碼方法 

當對方在沒有中文平臺的狀況下打開你發的中文電子郵件時,就會出現亂碼。解決辦法有兩種: 

(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中文郵件的體積比較大。 

4.收信方排除亂碼的方法 


請你在「查看(V)」下拉菜單中選中「語言」,隨後出現的菜單中會包括本系統所能支持的所有漢字標準,在其中單擊郵件中所指明的一種。若是收到的郵件中沒有指明其所使用的漢字標準,則只可按順序單擊,直到郵件正文顯示正確爲止(數個漢字標準中必有一個前面有「.」標記,此即你編輯器所用的漢字標準)。若使用的是Netscape,可在Option菜單的Document Encode中選擇相應的項目便可。 
四 關於網頁、文本和文檔文件亂碼的消除方法 

你們知道,網頁亂碼是瀏覽器對HTML網頁解釋時造成的。若是在網頁的代碼中有形如: 

〈HTML〉〈HEAD〉〈META CONTENT=「text/html;charset=ISO-8859-1」〉〈/HEAD〉....〈/HTML〉的語句,瀏覽器在顯示此頁時,就會出現亂碼。由於瀏覽器會將此頁語種辨認爲「歐洲語系」。 

解決辦法: 

1.將語種「ISO-8859-1」改成GB2312,若是是繁體網頁則改成BIG5。 

2.不修改網頁代碼,事先爲瀏覽器安裝多語言支持包(例如在安裝IE時要安裝多語言支持包),這樣在瀏覽網頁出現亂碼時,就能夠在瀏覽器中選擇菜單欄下的「查看」→ 「編碼」→「自動選擇」」→「簡體中文(GB2312),如爲繁體中文,則選擇「查看」→「編碼」→「自動選擇」」→「 繁體中文(BIG5),其餘語言依此類推選擇相應的語系,這樣可消除網頁亂碼現象。 

3.利用多內碼顯示平臺來轉換內碼。 

4.網頁無亂碼保存的方法是:用瀏覽器打開網頁時,在 「查看」→「編碼」中選擇「自動選擇」,存盤時保存類型選 「Web頁」,編碼選擇「UNICOD」,這樣保存過的網頁再次打開時,在瀏覽器菜單「查看」→「編碼」中無論選擇簡體中文(GB2312)、簡體中文(HZ)仍是UNICODE(UTF-8)或繁體中文(BIG5),最終顯示都不會出現亂碼。 

Win 9x/2000中文本、文檔文件的亂碼,通常是繁體中文顯示在簡體中文系統下,或者是在相反的狀況形成的。只要把本來是繁體的內碼轉換爲簡體內碼(或者相反)就可消除亂碼。Word 2000就能勝任這類工做,例如要把繁體中文轉換爲簡體中文,方法是:選擇要轉換內碼的文件,在彈出的對話框中,選擇「其餘編碼」中的「繁體中文(BIG5)」一項,打開此文件時就不會出現亂碼。無亂碼保存的方法:在保存時選擇「文件」中的「另存爲」,先存爲 「Word文檔」,存盤後打開再存爲純文本等其餘格式;你也能夠用Word 2000的「中文簡繁轉換」工具實現無亂碼保存,方法是在菜單欄中選擇「工具 」→「語言」→「中文簡繁轉換」,內碼轉換後再保存。金山公司的WPS 2000也能轉換內碼,支持GB23十二、BIG五、GBK等3種主要的漢字編碼,並可在輸出RTF、TXT、HTM格式文件時對內碼進行轉換。除此以外,消除這類亂碼還可用內碼轉換工具,能夠對BIG5(繁體中文)和GB2312(國標碼、簡體中文)進行相互轉換來消除亂碼。 
最後,臺灣出的繁體遊戲通常會出現亂碼,用w2kxpcjk2這個工具就能夠解決了~300多K的一個東西, 
祝問題早日解決!<br/><br/><font color=#0556A3>參考文獻:</font>http://iask.sina.com.cn/b/12625805.html?SHID=1219393438.472 是不是繁體的?能夠用IE打開,並選擇繁體內碼
IE-查看-編碼-其它-繁體中文(big5)html

相關文章
相關標籤/搜索