電子郵件“亂碼”現(xiàn)象解析及處理
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
收到遠(yuǎn)方友人的電子郵件,當(dāng)然是一件令人高興的事,但當(dāng)你滿懷欣喜地打開(kāi)的時(shí)候,面對(duì)的卻是一堆亂碼,掃興之余更是著急。想必這樣的情形每一個(gè)上網(wǎng)的用戶(hù)都曾遇到過(guò)。的確,電子郵件的亂碼問(wèn)題是困擾中文電子郵件用戶(hù)一件頭疼的事,但并非每個(gè)用戶(hù)都知道如何解決這個(gè)問(wèn)題。下面筆者就從三個(gè)方面對(duì)E-mail 亂碼問(wèn)題進(jìn)行一下探討,同時(shí)提出具體的解決辦法。
電子郵件軟件常用的編碼方式及判別方法 要解決電子郵件亂碼的問(wèn)題,我們很有必要了解一下電子郵件是如何進(jìn)行編碼的,以便可以“對(duì)癥下藥”,盡快解決問(wèn)題。我們知道,由于歷史原因,E-mail 只允許傳送字符,而且是7位字符的E-mail 網(wǎng)關(guān)時(shí),毫無(wú)疑問(wèn)地會(huì)出現(xiàn)問(wèn)題。這些7位的E-mail 網(wǎng)關(guān)把漢字內(nèi)碼第8位的1全部變成了0,于是形成了一些不可讀的文字。好在現(xiàn)在越來(lái)越多的E-mail 網(wǎng)關(guān)已能處理8位字符,國(guó)內(nèi)更是如此。所以,直接傳送中文問(wèn)題不大,但是要和國(guó)外的朋友通信就另當(dāng)別論了,本文后面詳述。 為了解決E-mail 傳輸8位字符以及二進(jìn)制文件的問(wèn)題,出現(xiàn)了各種各樣的編碼方式,概括地說(shuō),可分為對(duì)E-mail 正文的編碼和對(duì)E-mail 附帶文件的編碼兩類(lèi)。對(duì)E-mail 正文的編碼有Usenet 上專(zhuān)門(mén)針對(duì)中文的HZ 碼等,對(duì)E-mail 附帶文件的編碼則有UUENCODE,BINBEX 等。而在Internet 上標(biāo)準(zhǔn)的編碼方式卻是MIME(Multi -purpose Internet Mail Exten—sions 多用途Internet 郵件擴(kuò)展),它對(duì)E-mail 傳送多媒體信息(諸如聲音、圖像、二進(jìn)制文件等)進(jìn)行了一系列詳細(xì)而復(fù)雜的定義,包括了對(duì)E-mail 正文的編碼和對(duì)E-mail 的附帶文件的編碼。現(xiàn)在絕大多數(shù)的電子郵件軟件如ENDORA、Foxmail、THE-BAT!等都支持MIME 編碼方式。 純中文方式編碼:這就是我們通??吹降囊话阄谋荆瑳](méi)有經(jīng)過(guò)任何編碼,任何軟件都能準(zhǔn)確識(shí)別,因而不會(huì)出現(xiàn)任何亂碼(在指定了正確的字符集后)。 UUENCODE 編碼:一些較老的郵件服務(wù)器上這種編碼使用較多,目前的Ftp Mail 等服務(wù)器也是使用此編碼(如Mr—Cool 下載的文件等)。UUENCODE 編碼的主要特征是編碼首行由BeginXXX 開(kāi)始,結(jié)束一行為End ,且通常其中的每一行的開(kāi)始均為“M”,只要有了以上幾個(gè)特征,就能確定是UUEN—CODE 編碼。 QUOTED -PRINTABLE 編碼:該種編碼是將7FH以上的ASCII 字符(即漢字)用它對(duì)應(yīng)的文字串表達(dá)出來(lái),即如一個(gè)ASCII 編碼為0ABH 的字符,將用=AB 來(lái)代表它。它的典型特征是文本中有大量的這種用“=”來(lái)構(gòu)成的符號(hào),即=XX=XX=XX 等,只要有這種符號(hào),即可確認(rèn)。 BASE64編碼:BASE64 編碼的判斷較復(fù)雜,但它也有一個(gè)明顯的特征,由于BASE64是通過(guò)“=”來(lái)實(shí)現(xiàn)行對(duì)齊,因而假如你在一個(gè)排列非常規(guī)則(每行字符數(shù)相同,一般為63 個(gè)),沒(méi)有任何可識(shí)別內(nèi)容的編碼,且若最后一行未滿并有一至三個(gè)“=”之類(lèi)字符時(shí)即可確認(rèn)它是BASE64編碼;特別的一點(diǎn)是,“.”不屬于BASE64 編碼后的字符,也就是說(shuō)一個(gè)用BAS64正確編碼后的信件將決不可能在信體部分有“.”出現(xiàn),否則就是誤編碼。 HZ 編碼:這是國(guó)外的中國(guó)人發(fā)明的一種編碼方式,它把漢字的最高位去掉,然后用一特定符號(hào)來(lái)表明哪些編碼經(jīng)過(guò)了處理。這種編碼也極易識(shí)別:在它信的內(nèi)容中通常會(huì)有這樣的一組符號(hào):“~{”和“}~”,其中的內(nèi)容是不可讀的(亂碼),而在這一組分界符外的都是可讀的英文字符。 Bit7碼:這并非一種編碼,而是網(wǎng)絡(luò)傳輸誤碼。它是由于網(wǎng)絡(luò)不支持8位傳輸引起的,通常在局域網(wǎng)的接入方案中較為常見(jiàn)。它跟HZ 編碼類(lèi)似,只是沒(méi)有標(biāo)明哪些內(nèi)容是截去了最高位的,識(shí)別辦法跟HZ 類(lèi)似,如果一段信件中英文部分是正常的話,即為此種誤碼。該種誤碼無(wú)法解碼,只能要求對(duì)方用7位編碼(如以上的各種編碼)重新發(fā)送。 由此可見(jiàn),我們一旦知道了郵件的編碼方式后,就可以使用相對(duì)應(yīng)的解碼軟件將其解開(kāi)。 E-mail 出現(xiàn)亂碼的最根本原因就在于:編碼與解碼方式的不一致。當(dāng)你收到一封充滿亂碼的E-mail 時(shí)怎么辦呢?自己如何動(dòng)手進(jìn)行解決呢?下面我們來(lái)分析一下這方面的原因及解決方法。 E-mail 亂碼的種類(lèi)、產(chǎn)生原因及解決方法 1、中文內(nèi)碼不一致的“亂碼”,最為常見(jiàn)的是BIG5碼與GB碼 現(xiàn)象:信件內(nèi)容有空格、日文、偏旁部首、個(gè)別漢字等等。 原因:這種“亂碼”是由于發(fā)信的計(jì)算機(jī)的中文內(nèi)碼不是國(guó)標(biāo)碼(GB)所造成的,如香港、臺(tái)灣地區(qū)和海外使用的漢字系統(tǒng)多數(shù)是BIG5碼。如果用此內(nèi)碼發(fā)送中文信件,國(guó)內(nèi)使用的國(guó)標(biāo)碼的用戶(hù)閱讀時(shí)就會(huì)出現(xiàn)“亂碼”現(xiàn)象。 解決方法一:在系統(tǒng)上加掛多內(nèi)碼語(yǔ)言顯示平臺(tái),如四通利方的RichWin97(http ://www.srsnet .com)、南極星1.60(http ://www.njstar .com)、Magic Win98(http ://www.jtwin .coom.my/magicein)及兩岸通都是不錯(cuò)的選擇。 解決方法二:選用支持BIG5碼與GB碼轉(zhuǎn)換功能的E-mail 軟件,如Fox—mail、方正飛揚(yáng)等,缺點(diǎn)是有時(shí)效果不是很理想。 2、部分亂碼 現(xiàn)象:收到的郵件中有的句子能正常顯示,但是有的句子仍出現(xiàn)“亂碼”。 原因一:發(fā)信人在輸入漢字時(shí)不留意輸入了某個(gè)控制鍵或者折行不正確,產(chǎn)生半個(gè)漢字的現(xiàn)象。眾所周知,在計(jì)算機(jī)里,漢字是由兩個(gè)字節(jié)組成的,如果不正確地折行,前一行最后一個(gè)字的前半部分留在本行,而后半部分則被折到了下一行。結(jié)果,后半部分與后面一個(gè)字的前半部分組成了一個(gè)新的漢字,如此類(lèi)推,于是,整行漢字就成了天書(shū)。 解決方法:將郵件保存,用Word、WPS97等文字處理軟件在漢字與亂碼之間插入一個(gè)空格或者刪除一個(gè)“亂碼”字符。這樣,郵件內(nèi)容雖然少了一個(gè)字,但剩下的部分恢復(fù)正常,況且我們憑上下文也可基本猜到這個(gè)字了。 原因二:E-mail 軟件(尤其是英文軟件)以及郵件傳輸過(guò)程中也可能造成這種不正常的折行。英文E-mail 軟件的自動(dòng)折行是依據(jù)英文單詞間的空格來(lái)判斷的,但中文卻沒(méi)有空格。因此,E-mail 軟件在進(jìn)行折行處理時(shí),出錯(cuò)就在所難免了。而在E-mail 的傳輸過(guò)程中,E-mail 網(wǎng)關(guān)對(duì)長(zhǎng)行的處理方法也不盡相同,有時(shí)會(huì)使行末的半個(gè)漢字丟失,從而造成了半漢字現(xiàn)象。 解決方法:要徹底解決這個(gè)問(wèn)題,最好是在每個(gè)漢字后加入空格,也就是利用漢字輸入法字間加空的功能,這樣就不會(huì)出現(xiàn)錯(cuò)誤的折行了?,F(xiàn)在的中文系統(tǒng)如RichWin 等,都提供了字間加空的選擇。 原因三:有時(shí)漢字系統(tǒng)調(diào)用出錯(cuò)也會(huì)造成這種亂碼,盜版的漢字平臺(tái)出現(xiàn)這種方面問(wèn)題的概率較高。 解決方法:使用正版軟件,或者將系統(tǒng)內(nèi)碼先改為BIG5,這時(shí)看到全文“亂碼”,再將內(nèi)碼改為國(guó)標(biāo)碼即可;或者重新調(diào)用漢字系統(tǒng)。 3、附件采用MIME 格式的“亂碼” 現(xiàn)象:看到的信件內(nèi)容全是大小寫(xiě)英文字母而且字符排列很整齊。 原因:之所以造成這種“亂碼”,原因是發(fā)信人的E-mail 軟件設(shè)置中使用的不全是8位格式,而且MIME 格式所造成的。 解決方法:將自己的E-mail 軟件的附件格式設(shè)置成MIME 格式再閱讀信件。 4、七位碼的中文“亂碼” 現(xiàn)象:看到的信件內(nèi)容全是大小寫(xiě)英文字母中間還有西文大括號(hào)。 原因:發(fā)信者的E-mail 軟件設(shè)置中使用的是7位格式。 解決方法:通知對(duì)方重發(fā)郵件。 5、UNEDCODE 類(lèi)型的“亂碼” 說(shuō)明:其實(shí),嚴(yán)格來(lái)說(shuō)不能將其稱(chēng)為亂碼,但是許多網(wǎng)友(尤其是一些網(wǎng)上新手)在面對(duì)這儼如天書(shū)的UNENCODE 編碼的郵件時(shí),往往無(wú)所適從,所以在此筆者也把它歸為“亂碼”了。 原因:時(shí)下,許多網(wǎng)友喜歡用Mr .COOL“下載”軟件,或者中間通過(guò)E-mail 索取軟件,而這些FTP Mail 服務(wù)器采用的是UNEDCODE 編碼,所以接到的郵件就是一些文不成書(shū)的怪字符了。 解決方法一:選用支持UNENCODE解碼功能的E-mail 軟件,如ENDORA、THEBAT!等; 解決方法二:用Wincode、WinZip6.3等軟件解碼。對(duì)于拆分的郵件必須分別保存,然后將它們用DOS 的Copy 命令合成為一個(gè)以*.uu 為擴(kuò)展名的文件,具體操作如下:copy 文件1+文件2+…文件N 文件名.uu ,然后再用上述軟件解碼即可。 6、非上述原因造成的“亂碼” 現(xiàn)象:郵件的全文皆為亂碼。 原因:E-mail 軟件或郵件傳輸出錯(cuò)所造成的。這種問(wèn)題出現(xiàn)的概率不是很高,但是在目前情況下仍然存在。比如,文件太長(zhǎng)造成文件的丟失或少了一截,你的ISP 的收發(fā)郵件的服務(wù)器出現(xiàn)故障等等。 解決方法:如果是發(fā)信人E-mail 軟件的問(wèn)題,你可以請(qǐng)對(duì)方重新調(diào)整或更換一個(gè)E-mail 軟件。至于諸如服務(wù)器故障之類(lèi)的原因,就不是用戶(hù)所能處理的了,最好咨詢(xún)一下你的ISP,等故障排除后,請(qǐng)對(duì)方重發(fā)一次。 如何向海外的朋友發(fā)送中文E-mail 方法一:這是最簡(jiǎn)單、最直接的辦法:要求對(duì)方使用簡(jiǎn)體中文Windows ,或者至少加掛一個(gè)多內(nèi)碼語(yǔ)言平臺(tái),如Rich—Win97、南極星等。但是,很顯然,這種方法不太可行。 方法二:將漢字文本轉(zhuǎn)換成圖形,在電子郵件程序中以附件的形式發(fā)送,具體可以采取以下兩種方法: 1、在Windows 的“畫(huà)圖”程序(Brush)中輸入信件的內(nèi)容,然后存成一個(gè)BMP等格式的圖像文件; 2、用普通的文本編輯軟件(如Win—dows 下的記事本、寫(xiě)字板、Word 等)輸入信件內(nèi)容,然后用HyperSnap 等截圖軟件保存為圖像文件。 方法三:用TXT2EXE 等軟件將信件的內(nèi)容制成一個(gè)可執(zhí)行文件,以附件的形式發(fā)送給對(duì)方。 該文章在 2012/2/17 0:15:16 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |