狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

接收Email之eml文件解析后亂碼探討

admin
2012年1月12日 23:41 本文熱度 7269
當我們瀏覽網頁、打開文檔或郵件,運行軟件時,經常會看到亂碼,通常是由于源文件編碼,Windows不

能正確識別造成的的,也可能是其他原因。亂碼給我們帶來了太多的煩惱,為了幫助大家徹底擺脫亂碼


,下面我們就來探討一下亂碼的形成原因及其消除方法。


  一、亂碼有五種類型


  常見的亂碼,一般可以分成五種類型:第一類是文本/文檔文件亂碼,這一般是由于源文件編碼,與


Windows使用的編碼不通用造成的;第二類是網頁亂碼,形成原因與第一類亂碼類似;第三類是Windows


系統界面亂碼,即中文Windows的菜單、桌面、提示框等顯示亂碼,主要是Windows注冊表中有關字體的


部分設置不當引起的;第四類是應用程序的界面亂碼,即各種應用程序(包括游戲)本來顯示中文的地


方出現亂碼,形成原因比較復雜,有第二類的亂碼原因,也可能是軟件用到的中文鏈接庫,被英文鏈接


庫覆蓋造成的;第五類是郵件亂碼,形成原因也極其復雜。


  二、如何消除應用程序的界面亂碼?


  目前有些軟件發行了Unicode版本,這是一種通用的字符編碼標準,涵蓋了全球多種語言及古文和專


業符號,這種版本的軟件運行在任何系統和語言上都不會亂碼,如果是非Unicode編碼的程序,就會有亂


碼現象。


  【形成原因】:原因有三種。如果是由于Windows注冊表中關于字體設置的信息不正確造成的,你可


以用下面“如何消除Windows系統界面亂碼”介紹的辦法去解決;如果用上法解決不了,那就可能是由于


軟件的中文鏈接庫,被英文鏈接庫覆蓋而引起的。這種現象經常發生在用微軟開發工具例如VB、VC開發


的中文軟件上,這類軟件中,菜單等顯示界面上的漢字都是受一個動態鏈接庫(DLL文件)控制,而軟件


的這個動態鏈接庫一般安裝在WindowsSystem目錄下,如果以后安裝了某個英文軟件也使用同名的動態鏈


接庫,則英文軟件的動態鏈接庫就會覆蓋中文鏈接庫,這樣,運行中文軟件時就會調用英文的動態鏈接


庫,因此出現亂碼。解決辦法:重新安裝中文軟件,恢復中文動態鏈接庫即可。


  如果以上方法也無濟于事,對于Win9X/ME系統,你可以安裝使用MagicWin98(下載地址


http://www.skycn.com/soft/3047.html)、南極星等內碼轉換軟件,轉換內碼后即可消除亂碼;對于


WinXP系統,建議使用微軟多語言支持工具MicrosoftAppLocale(下載地址


http://www.skycn.com/soft/12582.html),利用它為指定程序設置相應的語言區域,這樣也可消除亂


碼。


  三、如何消除文本/文檔文件亂碼?


  【形成原因】:一般是由于文檔采用的字符集,系統不支持造成的。例如繁體中文的文檔顯示在簡


體中文系統下,或者相反的情況,就會造成文檔顯示時亂碼。只要你內碼轉換正確,例如把原本是繁體


的內碼,轉換為簡體內碼(或者相反),即可消除亂碼。


  【解決辦法】:有以下四種解決辦法:


  1、使用Word2003/XP轉換內碼


  Word2003/XP支持眾多的語言,可以正確顯示非Unicode類型的文本文件,單擊“工具”菜單下的“


語言”/設置語言,你可以把默認語言設置成非中文,例如日語,這樣Word就可以正確顯示日文了。


  當然你也可以用它進行簡體中文與繁體中文之間的轉換工作,如果文件有亂碼,你轉換一下即可消


除。例如要把繁體中文轉換為簡體中文,方法是:選擇要轉換內碼的文件,在彈出的對話框中(如下圖


),選擇“其他編碼”中的“繁體中文(BIG5)”一項,打開此文件時就不會出現亂碼。



2、使用Word2003/XP無亂碼保存


  在Word2003/XP中,當保存時選擇“文件”中的“另存為”,先存為“WORD”文檔,存盤后打開再存


為純文本等其他格式;或者在菜單欄中選擇“工具/語言/中文簡繁轉換”,內碼轉換以后再保存。


  3、使用內碼轉換工具


  除此之外,使用內碼轉換工具也可以消除此類亂碼,你只要對BIG5(繁體中文)和GB2312(國標碼


、簡體中文)進行相互轉換即可實現。常用的內碼轉換工具有:
4、使用WPS2000轉換內碼



WPS2000也能轉換內碼,支持GB2312、BIG5、GBK等三種主要的漢字編碼,并可在輸出RTF、TXT、HTM格式


文件時對內碼進行轉換。
四、如何消除網頁亂碼?


  【形成原因】:網頁亂碼是瀏覽器(IE等)對HTML網頁解釋時形成的,如果網頁制作時編碼為A,瀏


覽器卻以編碼B顯示該網頁,就會出現亂碼,因此只要你在瀏覽器中也以編碼A顯示該網頁,就會消除亂


碼。


  例如網頁的代碼中有形如:〈HTML〉〈HEAD〉〈META CONTENT=“text/html;charset=ISO-8859-1


”〉〈/HEAD〉的語句,瀏覽器在顯示此頁時,就會出現亂碼,因為瀏覽器會將此頁語種辨認為“歐洲語


系”。


  【解決辦法】:有以下四種解決辦法:


  1、在瀏覽器中選擇“編碼”菜單


  事先為瀏覽器安裝多語言支持包(例如在安裝IE幣?安裝多語言支持包),這樣當瀏覽網頁出現亂碼


時,即可手工更改此類網頁的編碼方式,在瀏覽器中選擇菜單欄下的“查看??“編碼”/“自動選擇”/


簡體中文(GB2312),如為繁體中文則選擇“查看”/“編碼”/“自動選擇”/繁體中文(BIG5),其他


語言依此類推,選擇相應的語系,這樣便可消除網頁亂碼現象。


  2、修改網頁代碼


  用FrontPage等軟件打開出現亂碼的網頁,修改該網頁代碼,在以下句子中


  〈META CONTENT=“text/html;charset=ISO-8859-1”〉,將語種“ISO-8859-1”改為GB2312,如


果是繁體網頁則改為BIG5。


  3、無亂碼保存網頁


  用瀏覽器打開該網頁,在“查看”/“編碼”中選擇“自動選擇”,存盤時保存類型選“WEB頁”,


編碼選擇“UNICODE”,這樣保存過的網頁再次打開時,在瀏覽器菜單“查看”/“編碼”中不管選擇簡


體中文(GB2312)、簡體中文(HZ)還是UNICODE(UTF-8)或繁體中文(BIG5),最終顯示都不會出現


亂碼。


  4、使用多內碼顯示軟件


  使用多內碼顯示軟件來轉換內碼,也可以消除亂碼。常用多內碼顯示軟件有:



五、如何消除Windows系統界面亂碼?


  【形成原因】:這類亂碼是由于Windows注冊表中關于字體部分配置不正常造成的,即使您用內碼翻


譯軟件(如南極星、MagicWin98等)處理也不會消除。


  【解決辦法】:在Windows注冊表中,恢復關于字體部分的正確設置。


1、利用顯示正常的電腦


  假如有一臺Windows版本相同、顯示正常的電腦可以利用,你可以如下步驟進行恢復:在正常機器上


選擇“開始”/“運行”,在對話框中鍵入“REGEDIT”,打開注冊表編輯器;光標定位到


“HKEY_LOCAL_MACHINESYSTEMCURRENT CONTROL SETCONTROLFONTASSOC”,選擇“注冊表/導出注冊表文


件”,選擇“分支”,導出該分支注冊表信息到文件(如LI.REG)中(如下圖);把LI.REG文件COPY到


顯示亂碼的機器上,在顯示亂碼機器上運行REGEDIT,選擇“注冊注冊表”/“導入注冊注冊表”,把


LI.REG文件導入注冊表中。



2、在顯示亂碼的電腦上操作


  如果沒有顯示正常的電腦可以利用,就需要您手工恢復字體部分注冊表項,方法有以下兩種:


  第一種方法:用記事本編輯一個文件,然后保存為擴展名“REG”(文件名隨意),再用鼠標右鍵單擊


這個文件,在右鍵菜單中選擇合并,即可完成對注冊表的改動。該文本文件的內容如下:


   REGEDIT4


   [HKEY_LOCAL_MACHINESystemCurtentControlsetcontrolfontassoc]??


   [HKEY_LOCAL_MACHINESystemCurtentControlsetcontrolfontassocAssociated DefaultFonts]??


   "assocSystemFont"="simsun.ttf"


   "FontPackageDontCare"="宋體"


   "FontPackageRoman"="宋體"


   "FontPackageSwiss"="宋體"


   "FontPackageModem"="宋體"


   "FontPackageScript"="宋體"


   "FontPackageDecorative"="宋體"


   [HKEY_LOCAL_MACHINESystemCurtentControlsetcontrolfontassocAssociated CharSet]??
   "ANSI(00)"="yes"


   "SYMBOL(02)"="no"


   "OEM(FF)"="yes"


   "GB2312(86)"="yes"  
 第二種方法:在出現亂碼的電腦上,單擊菜單“開始”/運行,鍵入REGEDIT打開注冊表;找到


“HKEY_LOCAL_MACHINESYSTEMCURRENT CONTROL SETCONTROLFONTASSOC”,正常情況下會有ASSOCIATED


DEFAULTFONTS、ASSOCIATED CHARSET兩個文件夾,這些文件夾中正確的參數如下表所示:




當出現漢字亂碼時,上述兩個文件夾中內容就會不完整,有的沒有ASSOCIATED CHARSET文件夾、或其中


內容殘缺不全;有的ASSOCIATED DEFAULTFONTS下內容殘缺。只要你打開注冊表,在


“HKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETCONTROLFONTASSOC”下,根據以上正確內容恢復即可。


  六、如何消除郵件亂碼?


  郵件亂碼的形成原因很多,主要有以下幾個方面,針對以下幾種形成原因,應該采取不同的亂碼消


除方法:


  1、收發信雙方的語種不同導致的


  收發雙方使用的操作系統的不同,可以造成亂碼。比如發件人使用的是日文的Windows,而收件人使


用的是簡體中文的Windows,這樣的郵件當然會造成亂碼。對于中文電子郵件,如果收信方所用的操作系


統是英文環境、而且沒有外掛中文系統或未切換為中文(如南極星等)編碼方式,也會無法看到中文、


只可見亂碼。所有的雙字節字符(如中文簡/繁體的GB和BIG5碼及日文的JIS、EUC和朝鮮文的 KSC碼等)


在非本語種操作系統下都會出現亂碼;同樣在中文簡體的GB碼環境下,看其他雙字節字符時也只能看到


亂碼。


  【解決辦法】:安裝多語言支持包或使用多內碼顯示平臺(如南極星等),對收到的郵件,根據其


使用的語種切換到相應的編碼方式即可消除亂碼。


  2、發信服務器不支持8位(非ASCII碼格式)傳輸


  郵件傳輸機制或郵件編碼的不同,可能造成郵件服務器不支持8位(非ASCII碼格式)傳輸而形成郵


件亂碼。例如直接發送中文或二進制等非ASCII碼格式的郵件(如中文雙字節文件、圖片文件.jpg、可執


行文件.exe或壓縮文件.zip等二進制文件)時,郵件服務器有可能無法處理,便把信件中每個字符的第


八位都過濾掉,從而造成郵件信息的失真或損壞,在收到郵件時就是一堆亂碼。


  【解決辦法】:只能由發件人解決。當發送8位格式的文本文件時,必須事先進行編碼,將文件轉換


為7位ASCII碼或更少位數的格式,然后才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件后


,可以再轉換為8位的格式,這樣就可避免亂碼。


  3、收發端用的EMAIL軟件和設置不同


  一般EMAIL軟件的"附件"功能都可以自動對信件先進行編碼,然后送出。這樣只要收信人使用的


EMAIL軟件(如Outlook XP等)能區別信件的編碼方式,即可自動將信件解碼。如果收發件人所用的


EMAIL軟件默認配置不同、收發件人自己定制的一些選項不同,在收到編碼的信件后,系統就未必能識別


出信件所用的編碼方法,自然也無法自動解碼,這樣就會出現亂碼。


  【解決辦法】:如果你用OE收中文郵件,看到的是一篇亂碼,可以查一下“查看”-“編碼”下,


是否選了“簡體中文(GB2312)”,選對了就不會有問題。


  此外,你也可以用Winzip IE來解碼,方法是:把亂碼郵件的內容,拷貝到剪貼板中,然后將其粘貼


到記事本中,存為文本文件(例如LI.txt),再將其后綴改為.uue(改為LI.uue),點擊此文件,會啟


動Winzip,然后啟動IE,把Winzip中的001.txt文件拖到IE窗口中,就會顯示郵件原來的內容,而不會看


到亂碼。
4、Email軟件不能識別郵件的編碼方法


  郵件的編碼方式主要有:Uuencode、Base64 encode、QP-encode、BINHEX等。如果Email軟件不能


識別郵件的編碼方法,就會顯示郵件時出現亂碼。因此,你可以根據郵件中的關鍵字符判斷編碼方法,


選取合適的解碼軟件進行解碼。


  (1)、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文件進行解壓,即可看到正確的內容。


  (2)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 SGmhQbF6pm6hSafapmK69Lj0pFexb6q+sXqsT6Skp OWrSKXzs


  N3DRLFNrmGhQQ0Kq1+sTqq6vdCx
0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RL


  F6p9qoz6XOIE1Py3Jvc29mdCuiBJbnRlcm5ldCBN......。


  特征:亂碼前一般有如下幾部分"信頭":Content-Type(內容類型)、charset(字符集)及Content-


Transfer-Encoding(內容傳輸亂碼方式)。


  解碼辦法:用EMAIL軟件,選擇編碼中BASE64 選項就可解碼,解碼后會消除亂碼。


  (3)、BINHEX編碼


  這種編碼方式大體格式為:


  (This file must be converted with Binhex4.0)SGmhQbF6pm6hSafapmK69Lj0pFexb6qss


  Tqq6vdCx
0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9qoz6XOIE…….


  解碼辦法:用EMAIL軟件對它解碼;也可在EMAIL軟件中保存亂碼郵件,存為后綴為“.HQX”格式的


文件,然后用WINZIP解碼展開。解碼后會消除亂碼。


  (4)、UTIF-7/UTIF-8編碼


  它們是UNICODE的兩種轉換碼。



(5)、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等EMAIL軟件,選擇編碼中相應的選項就可解碼;也可以在EMAIL軟件


中保存亂碼郵件,存為后綴為“.UUE”格式的文件,然后用WINZIP解碼展開,解碼后就會消除亂碼。


七、發信方如何避免產生亂碼郵件?


  為了避免別人收到亂碼,發信方應該采取以下的措施:


  1、設定默認自動為7位編碼


  在郵件客戶端軟件中的書寫(撰寫)選項中,設定默認自動為7位編碼。因為當你發送 8位格式的文


本文件時,必須事先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然后才能保證文件的正確


傳送。收件人收到7位或更少位格式的郵件之后,可以再轉換為8位的格式,這樣就可以閱讀了。


  2、發送前在簽字欄中注明使用的漢字編碼


  發送中文郵件前,最好在固定的簽字欄中注明自己所使用的漢字碼標準(例如GB2312、中文HZ、GBK


等);港澳臺及東南亞地區郵件作者在使用BIG5 碼撰寫完郵件、向內地發送前,要轉換成上述三種簡體


國標碼中的一種形式、并在簽字欄中注明。如不轉換則可能無法閱讀,因為國內用戶使用的郵件系統有


很多不支持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,以支持整字識別;郵件格式:MIME;字體:宋體


  如果使用其他中文EMAIL軟件,應設置成:文字設定DEFAULT CHARSET:簡體中文GB2312;編碼方式


ENCODING:QUOTED-PRINTABLE;郵件格式:MIME;字體:宋體


  4、發送重要信息時先發測試信


  發送重要信息時,為了確認是否無須編碼即可發送正文,應該先發送測試信。而且還應確定收件人


能否對附件文件進行解碼。如果發送已經編碼的郵件,則最好添加足夠的“信頭”信息,以便收件人知


道所需的解碼方法。建議對uuencode/UUDeview編碼方式用uuencoding作信頭,對mpack編碼方式用


base64 encoding作信頭。


  如果發/收件人之間遠隔萬里,則傳送過程中,第八位將可能被截掉。這時最好先在正文中用中文給


收件人發一封測試信,并了解對方能否正確收到郵件正文。如果第八位被截掉,則收件人將會看到一些


亂碼,而不是上述的uu/b64/Qp等格式,而且這種信件幾乎不可恢復。


  對策:在Netscape、Eudora或Pegasus Mail等你所使用的郵件系統中,選擇其首選項或選項配置中


的"Quoted Printalbe"或"MIME encoding


  5、盡量利用“附件”功能發送文件


  幾乎所有的郵件軟件,如Netscape、The Bat!、 Becky! 等郵件系統附加這類非標準 ASCII碼格式


的文件時,附加文件通常可以自動進行“base64”方式編碼(僅對附件部分進行編碼)。在用"附件"方


式發送郵件之前,無需進行編碼;否則適得其反。因為郵件軟件能夠自動成功解碼這類“附加”文件,


因此在發送中文類郵件時應該首選這種方法。


  如果無法以附件方式發送文件,則必須在正文中發送中文或二進制文件


  八、收信方如何避免郵件顯示亂碼?


  收信方應該首先查找郵件的簽字欄或正文中,有無指明對方使用的漢字編碼類別;然后在Outlook


XP“視圖”菜單下選中“編碼”,隨后將出現全部的漢字編碼,在其中選擇郵件所指明的一種。


  如果收到的郵件中沒有指明所用的漢字編碼,則可以順序單擊選擇編碼,直到郵件正文顯示正確為


止。如果你使用的是Netscape,則可在 Option菜單下的Document Encode中選擇相應的項目。


  九、在跨語種操作系統間收發電子郵件,如何保證不會亂碼?


  如果對方使用非中文系統,你給他發中文郵件時,他打開你發的中文郵件,就會出現亂碼。解決辦


法有兩種:


  1、用繪圖軟件書寫中文郵件


  用畫筆等繪圖軟件書寫中文郵件,然后把中文郵件以GIF圖形格式保存,最后壓縮之、作為郵件附件


發送。


  運行繪圖軟件,在圖片中輸入文字,用GIF格式保存,將屬性置為黑白模式(以減少圖片體積),然


后用WINZIP把它壓縮成ZIP格式,作為附件在郵件中發送,這樣不管對方在何語言平臺下,都不會出現亂


碼,收信人不必去下載PDF文件閱讀器,閱讀起來也很方便。


  2、使用專門的工具轉換和閱讀


  EMAIL AID之類的工具可以把中文郵件轉換為AID格式文件,你把該格式文件發給對方,他再用EMAIL


AID打開觀看即可。


  EMAIL AID(UCWIN GOLD 1.0附帶的)可以把文本文件轉換為AID格式文件,大小只比原TXT文件增加


幾K。寫好中文郵件后,用文本格式存盤,然后你運行EMAIL AID,以AID格式保存,最后你把AID文件連


同EMAIL AID軟件一起作為附件插在信中。對方收到信后,只需運行EMAIL AID,打開AID格式文件即可看


到漢字,不管對方在何種語言平臺下,都不會出現亂碼。


該文章在 2012/1/12 23:41:11 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved