亂碼形成原因及消除方法大全八_第1頁
亂碼形成原因及消除方法大全八_第2頁
亂碼形成原因及消除方法大全八_第3頁
亂碼形成原因及消除方法大全八_第4頁
亂碼形成原因及消除方法大全八_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、亂碼形成原因及消除方法大全 八 亂碼形成原因及消除方法大全.txt生活,是用來經營的,而不是用來計較的。感情,是用來維系的,而不是用來考驗的。愛人,是用來疼愛的,而不是用來傷害的。金錢,是用來享受的,而不是用來衡量的。謊言,是用來擊破的,而不是用來裝飾的。信任,是用來沉淀的,而不是用來挑戰的。 亂碼形成原因及消除方法大全2008-01-18 14:08亂碼形成原因及消除方法大全 當我們瀏覽網頁、打開文檔或郵件,運行軟件時,經常會看到亂碼,通常是由于源文件編碼,Windows不 能正確識別造成的的,也可能是其他原因。亂碼給我們帶來了太多的煩惱,為了幫助大家徹底擺脫亂碼,下面我們就來探討一下亂碼的

2、形成原因及其消除方法。一、亂碼有五種類型常見的亂碼,一般可以分成五種類型:第一類是文本/文檔文件亂碼,這一般是由于源文件編碼,與Windows使用的編碼不通用造成的;第二類是網頁亂碼,形成原因與第一類亂碼類似;第三類是Windows系統界面亂碼,即中文Windows的菜單、桌面、提示框等顯示亂碼,主要是Windows注冊表中有關字體的部分設置不當引起的;第四類是應用程序的界面亂碼,即各種應用程序(包括游戲)本來顯示中文的地方出現亂碼,形成原因比較復雜,有第二類的亂碼原因,也可能是軟件用到的中文鏈接庫,被英文鏈接庫覆蓋造成的;第五類是郵件亂碼,形成原因也極其復雜。二、如何消除應用程序的界面亂碼?

3、目前有些軟件發行了Unicode版本,這是一種通用的字符編碼標準,涵蓋了全球多種語言及古文和專業符號,這種版本的軟件運行在任何系統和語言上都不會亂碼,如果是非Unicode編碼的程序,就會有亂碼現象。【形成原因】:原因有三種。如果是由于Windows注冊表中關于字體設置的信息不正確造成的,你可以用下面“如何消除Windows系統界面亂碼”介紹的辦法去解決;如果用上法解決不了,那就可能是由于軟件的中文鏈接庫,被英文鏈接庫覆蓋而引起的。這種現象經常發生在用微軟開發工具例如VB、VC開發的中文軟件上,這類軟件中,菜單等顯示界面上的漢字都是受一個動態鏈接庫(DLL文件)控制,而軟件的這個動態鏈接庫一般

4、安裝在WindowsSystem目錄下,如果以后安裝了某個英文軟件也使用同名的動態鏈接庫,則英文軟件的動態鏈接庫就會覆蓋中文鏈接庫,這樣,運行中文軟件時就會調用英文的動態鏈接庫,因此出現亂碼。解決辦法:重新安裝中文軟件,恢復中文動態鏈接庫即可。如果以上方法也無濟于事,對于Win9XME系統, 你可以安裝使用MagicWin98(下載地址WinXP系統,建議使用微軟多語言支持工具MicrosoftAppLocale(下載地址碼。三、如何消除文本/文檔文件亂碼?【形成原因】:一般是由于文檔采用的字符集,系統不支持造成的。例如繁體中文的文檔顯示在簡體中文系統下,或者相反的情況,就會造成文檔顯示時亂碼

5、。只要你內碼轉換正確,例如把原本是繁體的內碼,轉換為簡體內碼(或者相反),即可消除亂碼。【解決辦法】:有以下四種解決辦法:1、使用Word2003/XP轉換內碼Word2003/XP支持眾多的語言,可以正確顯示非Unicode類型的文本文件,單擊“工具”菜單下的“語言”/設置語言,你可以把默認語言設置成非中文,例如日語,這樣Word就可以正確顯示日文了。當然你也可以用它進行簡體中文與繁體中文之間的轉換工作,如果文件有亂碼,你轉換一下即可消除。例如要把繁體中文轉換為簡體中文,方法是:選擇要轉換內碼的文件,在彈出的對話框中(如下圖),選擇“其他編碼”中的“繁體中文(BIG5)”一項,打開此文件時就

6、不會出現亂碼。2、使用Word2003/XP無亂碼保存在Word2003/XP中,當保存時選擇“文件”中的“另存為”,先存為“WORD”文檔,存盤后打開再存為純文本等其他格式;或者在菜單欄中選擇“工具/語言/中文簡繁轉換”,內碼轉換以后再保存。3、使用內碼轉換工具除此之外,使用內碼轉換工具也可以消除此類亂碼,你只要對BIG5(繁體中文)和GB2312(國標碼、簡體中文)進行相互轉換即可實現。常用的內碼轉換工具有: 4、使用WPS2000轉換內碼WPS2000也能轉換內碼,支持GB2312、BIG5、GBK等三種主要的漢字編碼,并可在輸出RTF、TXT、HTM格式文件時對內碼進行轉換。 四、如何

7、消除網頁亂碼?【形成原因】:網頁亂碼是瀏覽器(IE等)對HTML網頁解釋時形成的,如果網頁制作時編碼為A,瀏覽器卻以編碼B顯示該網頁,就會出現亂碼,因此只要你在瀏覽器中也以編碼A顯示該網頁,就會消除亂碼。例如網頁的代碼中有形如:HTMLHEADMETA CONTENT=“text/html;charset=ISO-8859-1”/HEAD的語句,瀏覽器在顯示此頁時,就會出現亂碼,因為瀏覽器會將此頁語種辨認為“歐洲語系”。【解決辦法】:有以下四種解決辦法:1、在瀏覽 器中選擇“編碼”菜單事先為瀏覽器安裝多語言支持包(例如在安裝IE幣?安裝多語言支持包),這樣當瀏覽網頁出現亂碼時,即可手工更改此類

8、網頁的編碼方式,在瀏覽器中選擇菜單欄下的“查看?“編碼”/“自動選擇”/簡體中文(GB2312),如為繁體中文則選擇“查看”/“編碼”/“自動選擇”/繁體中文(BIG5),其他語言依此類推,選擇相應的語系,這樣便可消除網頁亂碼現象。2、修改網頁代碼用FrontPage等軟件打開出現亂碼的網頁,修改該網頁代碼,在以下句子中META CONTENT=“text/html;charset=ISO-8859-1”,將語種“ISO-8859-1”改為GB2312,如果是繁體網頁則改為BIG5。3、無亂碼保存網頁用瀏覽器打開該網頁,在“查看”/“編碼”中選擇“自動選擇”,存盤時保存類型選“WEB頁”,編碼

9、選擇“UNICODE”,這樣保存過的網頁再次打開時,在瀏覽器菜單“查看”/“編碼”中不管選擇簡體中文(GB2312)、簡體中文(HZ)還是UNICODE(UTF-8)或繁體中文(BIG5),最終顯示都不會出現亂碼。4、使用多內碼顯示軟件使用多內碼顯示軟件來轉換內碼,也可以消除亂碼。常用多內碼顯示軟件有:五、如何消除Windows系統界面亂碼?【形成原因】:這類亂碼是由于Windows注冊表中關于字體部分配置不正常造成的,即使您用內碼翻譯軟件(如南極星、MagicWin98等)處理也不會消除。【解決辦法】:在Windows注冊表中,恢復關于字體部分的正確設置。1、利用顯示正常的電腦假如有一臺Wi

10、ndows版本相同、顯示正常的電腦可以利用,你可以如下步驟進行恢復:在正常機器上選擇“開始”/“運行”,在對話框中鍵入“REGEDIT”,打開注冊表編輯器;光標定位到“HKEY_LOCAL_MACHINESYSTEMCURRENT CONTROL SETCONTROLFONTASSOC”,選擇“注冊表/導出注冊表文件”,選擇“分支”,導出該分支注冊表信息到文件(如LI.REG)中(如下圖);把LI.REG文件COPY到顯示亂碼的機器上,在顯示亂碼機器上運行REGEDIT,選擇“注冊注冊表”/“導入注冊注冊表”,把LI.REG文件導入注冊表中。2、在顯示亂碼的電腦上操作如果沒有顯示正常的電腦可以

11、利用,就需要您手工恢復字體部分注冊表項,方法有以下兩種:第一種方法:用記事本編輯一個文件,然后保存為擴展名“REG”(文件名隨意),再用鼠標右鍵單擊這個文件,在右鍵菜單中選擇合并,即可完成對注冊表的改動。該文本文件的內容如下: REGEDIT4 HKEY_LOCAL_MACHINESystemCurtentControlsetcontrolfontassoc? HKEY_LOCAL_MACHINESystemCurtentControlsetcontrolfontassocAssociated DefaultFonts? "assocSystemFont"=

12、"simsun.ttf" "FontPackageDontCare"="宋體" "FontPackageRoman"="宋體" "FontPackageSwiss"="宋體" "FontPackageModem"="宋體" "FontPackageScrip

13、t"="宋體" "FontPackageDecorative"="宋體" HKEY_LOCAL_MACHINESystemCurtentControlsetcontrolfontassocAssociated CharSet? "ANSI(00)"="yes" "SYMBOL(02)"="no" "OEM(FF

14、)"="yes" "GB2312(86)"="yes" 第二種方法:在出現亂碼的電腦上,單擊菜單“開始”/運行,鍵入REGEDIT打開注冊表;找到“HKEY_LOCAL_MACHINESYSTEMCURRENT CONTROL SETCONTROLFONTASSOC”,正常情況下會有ASSOCIATEDDEFAULTFONTS、ASSOCIATED CHARSET兩個文件夾,這些文件夾中正確的參數如下表所示:當出現漢字亂碼時,上述兩個文件夾中內容就會不完整,有的沒有AS

15、SOCIATED CHARSET文件夾、或其中內容殘缺不全;有的ASSOCIATED DEFAULTFONTS下內容殘缺。只要你打開注冊表,在“HKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETCONTROLFONTASSOC”下,根據以上正確內容恢復即可。六、如何消除郵件亂碼?郵件亂碼的形成原因很多,主要有以下幾個方面,針對以下幾種形成原因,應該采取不同的亂碼消除方法:1、收發信雙方的語種不同導致的收發雙方使用的操作系統的不同,可以造成亂碼。比如發件人使用的是日文的Windows,而收件人使用的是簡體中文的Windows,這樣的郵件當然會造成亂碼。對于中文&a

16、mp;lt;strong class="kgb" onmouseover="isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u7535_u5B50_u90AE_u4EF6"KeyGate_ads.ShowGgAds(this,"_u7535_u5B50_u90AE_u4EF6",event)" style="border-top-widt

17、h: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick="javascript:window.op

18、en(" onmouseout="isShowGg = false;InTextAds_GgLayer="_u7535_u5B50_u90AE_u4EF6"">電子郵件,如果收信方所用的操作系統是英文環境、而且沒有外掛中文系統或未切換為中文(如南極星等)編碼方式,也會無法看到中文、只可見亂碼。所有的雙字節字符(如中文簡/繁體的GB 和BIG5碼及日文的JIS、EUC和朝鮮文的 KSC碼等)在非本語種操作系統下都會出現亂碼;同樣在中文簡體的GB碼環境下,看其他雙字節字符時也只能看到亂碼。【解決

19、辦法】:安裝多語言支持包或使用多內碼顯示平臺(如南極星等),對收到的郵件,根據其使用的語種切換到相應的編碼方式即可消除亂碼。2、發信服務器不支持8位(非ASCII碼格式)傳輸郵件傳輸機制或郵件編碼的不同,可能造成郵件服務器不支持8位(非ASCII碼格式)傳輸而形成郵件亂碼。例如直接發送中文或二進制等非ASCII碼格式的郵件(如中文雙字節文件、圖片文件.jpg、可執行文件.exe或壓縮文件.zip等二進制文件)時,郵件服務器有可能無法處理,便把信件中每個字符的第八位都過濾掉,從而造成郵件信息的失真或損壞,在收到郵件時就是一堆亂碼。【解決辦法】:只能由發件人解決。當發送8位格式的文本文件時,必須事

20、先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然后才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件后,可以再轉換為8位的格式,這樣就可避免亂碼。3、收發端用的EMAIL軟件和設置不同一般EMAIL軟件的"附件"功能都可以自動對信件先進行編碼,然后送出。這樣只要收信人使用的EMAIL軟件(如Outlook XP等)能區別信件的編碼方式,即可自動將信件解碼。如果收發件人所用的EMAIL軟件默認配置不同、收發件人自己定制的一些選項不同,在收到編碼的信件后,系統就未必能識別出信件所用的編碼方法,自然也無法自動解碼,這樣就會出現亂碼。【解決辦法】:

21、如果你用OE收中文郵件,看到的是一篇亂碼,可以查一下“查看”“編碼”下,是否選了“簡體中文(GB2312)”,選對了就不會有問題。此外,你也可以用Winzip IE來解碼,方法是:把亂碼郵件的內容,拷貝到剪貼板中,然后將其粘貼到記事本中,存為文本文件(例如LI.txt),再將其后綴改為.uue(改為LI.uue),點擊此文件,會啟動Winzip,然后啟動IE,把Winzip中的001.txt文件拖到IE窗口中,就會顯示郵件原來的內容,而不會看到亂碼。 4、Email軟件不能識別郵件的編碼方法郵件的編碼方式主要有:Uuencode、Base64 encode、QPencode、BINHEX等。如

22、果Email軟件不能識別郵件的編碼方法,就會顯示郵件時出現亂碼。因此,你可以根據郵件中的關鍵字符判斷編碼方法,選取合適的解碼軟件進行解碼。(1)、QpencodeQP編碼該編碼全稱“QuotedPrintable ContentTransferEncoding”, 因為這種格式郵件的內容都是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.特征:內容通常有很多等號"=&quo

23、t;,因此不需要看"信頭"也可以判斷是否為QP編碼。解碼辦法:把郵件中類似A1A=B1z=A6n的部分編碼全部復制下來,貼到一個新的純文本文件中,然后在文件頭部加入Quoted-pintable格式的文件頭:Contenet-Type:text/plain;Charset=”GB2312”Content-Transfer-Encoding;Quoted-pintable然后以“EML”為后綴保存文件,用資源管理器雙擊打開文件即可顯示正確的內容。如果還有部分漢字亂碼,可以用WINZIP對存盤后的EML文件進行解壓,即可看到正確的內容。(2)MIME/BASE6

24、4 encode編碼該編碼方式將3個字節(8位)用4個字節(6位)表示,由于編碼后的內容是6位的,因此可避免第8位被截掉,大體格式為:MIMEVersion:1.0ContentType:text/plain; charset="usascii"ContentTransferEncoding:base64Status:R SGmhQbF6pm6hSafapmK69Lj0pFexb6qsXqsT6Skp OWrSKXzsN3DRLFNrmGhQQ0Kq1sTqq6vdCx 0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9qoz6XO

25、IE1Py3Jvc29mdCuiBJbnRlcm5ldCBN.。特征:亂碼前一般有如下幾部分"信頭":ContentType(內容類型)、charset(字符集)及ContentTransferEncoding(內容傳輸亂碼方式)。解碼辦法:用EMAIL軟件,選擇編碼中BASE64 選項就可解碼,解碼后會消除亂碼。(3)、BINHEX編碼這種編碼方式大體格式為:(This file must be converted with Binhex4.0)SGmhQbF6pm6hSafapmK69Lj0pFexb6qssTqq6vdCx 0LF6tFit07Ddw0

26、ShRw0KDQqtuqX9p2m2RLF6p9qoz6XOIE.解碼辦法:用EMAIL軟件對它解碼;也可在EMAIL軟件中保存亂碼郵件,存為后綴為“.HQX”格式的文件,然后用WINZIP解碼展開。解碼后會消除亂碼。(4)、UTIF-7/UTIF-8編碼它們是UNICODE的兩種轉換碼。(5)、Uuencode編碼這是UNIX環境下使用的編碼方式,目前已經很少用,大體格式為: begin 644 kk.zip M1G)O;2!I;&ENF)B3T!C(VEEFYC=4N961UG1W(%=E9"!.;W8(#8,3(ZM,SDZ,C4,3DYI296E:79

27、E9#H9G)O;2!F;&%B;6%I;"YF;&%BF9U:FET.。 end特征:亂碼前面含有"begin xxx",后面是編碼前的原始文件名(如kk.zip);接著是已經過編碼的信件內容(如上述的亂碼部分);最后一行為"end"解碼辦法:可用BECKY!EUDORA等EMAIL軟件,選擇編碼中相應的選項就可解碼;也可以在EMAIL軟件中保存亂碼郵件,存為后綴 為“.UUE”格式的文件,然后用WINZIP解碼展開,解碼后就會消除亂碼。七、發信方如何避免產生亂碼郵件?為

28、了避免別人收到亂碼,發信方應該采取以下的措施:1、設定默認自動為7位編碼在郵件客戶端軟件中的書寫(撰寫)選項中,設定默認自動為7位編碼。因為當你發送 8位格式的文本文件時,必須事先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然后才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件之后,可以再轉換為8位的格式,這樣就可以閱讀了。2、發送前在簽字欄中注明使用的漢字編碼發送中文郵件前,最好在固定的簽字欄中注明自己所使用的漢字碼標準(例如GB2312、中文HZ、GBK等);港澳臺及東南亞地區郵件作者在使用BIG5 碼撰寫完郵件、向內地發送前,要轉換成上述三種簡體國標碼中的一種形式、并在

29、簽字欄中注明。如不轉換則可能無法閱讀,因為國內用戶使用的郵件系統有很多不支持BIG5碼。3、正確設置EMAIL軟件選擇優秀的Email收發軟件可以有效地解決郵件亂碼。如果使用Outlook 2003/XP,應在軟件中把“簡體中文(GB2312)作為默認的郵件使用語言,選擇“國際設置”/為接收的所有郵件使用默認的編碼。如果使用英文EMAIL軟件,應設置成:文字設定DEFAULT CHARSET:ISO 8859-1(LATIN1);編碼方式ENCODING:QUOTED-PRINTABLE,不可選擇7位(因為7位不支持中文);字碼頁CODE PAGE(可選):936或HZ-GB-2312,以支持

30、整字識別;郵件格式:MIME;字體:宋體如果使用其他中文EMAIL軟件,應設置成:文字設定DEFAULT CHARSET:簡體中文GB2312;編碼方式ENCODING:QUOTED-PRINTABLE;郵件格式:MIME;字體:宋體4、發送重要信息時先發測試信發送重要信息時,為了確認是否無須編碼即可發送正文,應該先發送測試信。而且還應確定收件人能否對附件文件進行解碼。如果發送已經編碼的郵件,則最好添加足夠的“信頭”信息,以便收件人知道所需的解碼方法。建議對uuencode/UUDeview編碼方式用uuencoding作信頭,對mpack編碼方式用base64 encoding作信頭。如果發/收件人之間遠隔萬里,則傳送過程中,第八位將可能被截掉。這時最好先在正文中用中文給收件人發一封測試信,并了解對方能否正確收到郵件正文。如果第八位被截掉,則收件人將會看到一些亂碼,而不是上述的uu/b64/Qp等格式,而且這種信件幾乎不可恢復。對策:在Netscape、Eudora或Pegasus Mail等你所使用的郵件系統中,選擇其首選項或選項配置中的&quot

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論