-----------------------------------------------------
壹般來說,亂碼郵件的原因有下面三種:
(1)由於發件人所在的國家或地區的編碼和中國大陸不壹樣,比如我國臺灣或香港地區壹般的E-mail編碼是BIG5碼,如果在免費郵箱直接查看可能就會顯示為亂碼。
(2)發件人使用的郵件軟件工具和妳使用的郵件軟件工具不壹致造成的。
(3)由於發件人郵件服務器郵件傳輸機制和免費郵箱郵件傳輸機制不壹樣造成的。
壹般說來對於絕大多數亂碼的郵件解決方法可以采用下面的方法:
首先用Outlook Express將亂碼的郵件收取下來,然後打開這封郵件,查壹下View(查看)→Encoding(編碼),然後調整其下的編碼設置試試看,比如可以選擇Chinese Simple(簡體中文)、Chinese Traditional(繁體中文)、中文HZ或Unicode試試看。壹般來說,絕大多數亂碼的郵件都可以修正過來。如果覺得這樣很麻煩,可以將 GB2312設置為默認的字體,方法如下(以Outlook Express 5為例):通過“工具→選項→閱讀→字體”,在“編碼”處選好GB2312,然後選“設為默認值”。
...............................................
郵件亂碼巧破譯 來源:《新潮電子》
----
相信許多網友都遇到過亂碼郵件,壹些奇奇怪怪的字符,不知道是什麽意思。產生亂碼郵件的最
主要原因在於傳輸機制不同或郵件的編碼不同,如果能夠識別這些編碼,就可以找到破解的辦法。
郵件亂碼巧破譯
壹、E-mail編碼標準
>>>>由於壹個漢字是用兩個擴展ASCII碼表示,對DOS、Windows及Unix系統來說,所有英文字母及符號
都是用ASCII碼來代表,ASCII碼只用到每個字節的前7位。而壹些電腦系統在通信時不使用8-bit
clean傳輸方式,無法處理8位的數據或硬把8位數據當作7位來處理,數據就會被破壞。對電子郵件來
說,有時候壹個郵件在送達收信人的過程中,會經過很多臺主機的轉接傳輸服務,這中間的主機假如
有壹臺不具備8-bit clean的傳輸條件,中文郵件可能就會被破壞。因此,不論是發送中文文本文件,
還是發送EXE可執行文件、圖形文件或壓縮文件等二進制文件,都應該先進行編碼。
E-mail編碼主要有:
1.UU編碼
>>>>在早期傳送非 ASCII碼的文件時,最常用的便是這種UU(Unix-to-Unix encoding)編碼方式。
Uuencode和Uudecode分別是Unix系統中使用的UU編碼和解碼程序,後來被改寫成為在DOS中亦可執行的
程序。
2.MIME編碼
>>>>UU編碼解決了E-mail傳送非ASCII文件的問題,但這種方式並不方便。因而又發展出壹種新的編碼
標準MIME(Multipurpose Internet Mail Extentions),壹般譯作“多媒體郵件傳送模式”。顧名思
義,它可以傳送多媒體文件,在壹封電子郵件中附加各種格式文件壹起送出。
>>>>MIME定義兩種編碼方式:Base64與QP(Quote-Printable)。QP的規則是對於資料中的7位無須重復編
碼,僅將8位的數據轉成7位。 QP編碼適用於非ASCII碼的文字內容,例如我們的中文文件。而Base64
的編碼規則,是將整個文件重新編碼成7位,通常用於傳送二進制文件。編碼的方式不同會影響編碼之
後的文件大?gt;>6?哂?nbsp;MIME功能的E-mail軟件大都能自動判別妳的郵件是采用何種編碼,然後自動選
擇用QP或Base64來解碼。
>>>>MIME標準現已成為Internet電子郵件的主流。現在最常使用的電子郵件軟件Eudora、FoxMail、
Netscape Mail、Outlook Express和Internet Mail等都支持MIME編碼標準。
3.Binhex編碼
>>>>Binhex的編碼方式常用於Mac機器。壹般PC上的電子郵件軟件,亦多數支持MIME的規格,很少有支
持Binhex格式的。在常用的電子郵件軟件中,只有Eudora具有這種功能,可直接解讀Binhex的編碼。
二、郵件亂碼的原因及解決方法
>>>>漢字郵件出現亂碼的原因很多,主要的原因是Internet上的某些郵件主機不支持8位(非ASCII碼
格式)傳輸,以及不同的郵件編碼,不同設置的電子郵件接收軟件,不同語種的操作系統等。
>>>>當妳收到壹封亂碼的郵件時,應根據郵件內容中的關鍵字符,判別其編碼方法。不同的亂碼,在
不同的平臺上有不同的解決方法,因此解碼前必須先看壹下文件的內容,根據特征對文件可能的編碼
方式(Uuencode、Base64 encode、QP-encode或其它編碼方式)進行判斷。
1.Uuencode“亂碼”
>>>>Uuencode編碼主要來自Unix環境的使用者,目前使用者已經很少。這種軟件內部所用的算法為
base64。其格式與Base64 encode格式非常相似,它們的差別僅僅在於“信頭”部分的不同。Uuencode
“亂碼”大體格式為:
begin 0600 index.gb
MH;ZQOL2_PKS#O]3"N/S0PM*[M,ZAOPJCJ,G/U,+2U,"TM<30PM3VN_*XQ+:O
……
end
>>>>在亂碼前面含有“begin xxx”,後面緊接著編碼之前原始文件的名稱。接著是已經Uuencode編碼
的郵件的內容。在亂碼內容後面,即最後壹行為“end”。
>>>>如果妳的電子郵件接收程序不支持UU解碼,那麽妳看到的就是這些Uuencode“亂碼”。
>>>>解決Uuencode“亂碼”的辦法:
方玌uencode“亂碼”郵件轉寄到自己的郵箱中,再使用能夠支持UU解碼的電子郵件接收程序(如
Eudora、OutLook Express等)來接收該郵件。
吠ü?艏?褰?Uuencode“亂碼”存入文本文件,改文件名後綴為 UUE,然後使用Winzip 解碼。
方?Uuencode“亂碼”存入壹個文件,然後在DOS下用uudecode.exe程序將文件解碼。
方?Uuencode“亂碼”存入壹個文件,然後在Windows下用Wincode解碼。
Wincode除支持UU編碼外也支持MIME、Binhex等編碼格式,應用範圍頗為廣泛。
2.Base64 encode“亂碼”
>>>>Base64是MIME標準編碼之壹。Base64 encode編碼方式是將3個字節(8位)用4個字節(6位)表
示,由於編碼後的內容是6位的,因此可以避免第8位被截掉。Base64 encode“亂碼”大體格式為:
MIME-Version:1.0
Content-Type:text/plain; charset="us-ascii〃
Content-Transfer-Encoding:base64
Status:R
yrE68shis+o/IMTcsrvE3Ljmy9/L47YEzajRtrX-Y1re6zbYnu7Chow0LDQo=3d
>>>>在Base64編碼郵件的亂碼前壹般有如下幾部分“信頭”:Content-Type(內容類型)、charset(字符
集)及Content-Transfer-Encoding(內容傳輸編碼方式)。
>>>>如果妳的電子郵件接收程序不支持Base64解碼,那麽妳看到的就是這些Base64 encode“亂碼”。
>>>>解決Base64 encode“亂碼”的辦法:
方獴ase64 encode“亂碼”郵件存成壹個文本文件,改文件名後綴為.UUE,然後使用 Winzip 解碼。
方獴ase64 encode“亂碼”郵件存成壹個文件,將文件後綴改為.EML,由OutLook Express 打開,就
可以自動解碼。
3.QP-encode“亂碼”
>>>>QP-encode是MIME標準編碼之壹。QP-encode編碼全名為“Quoted-Printable
Content-Transfer-Encoding”。由於用這種格式表示的信息,其內容主要都是 ASCII字符集中可以打
印的字符,因此名稱中含有 printable。QP編碼的方式,是將壹個字節用兩個16進制數值表示,然後
在前面加“=”。QP-encode“亂碼”大體格式為:
=d2=bc=b3=b8=d5=db=c4=c4=bc=d2=b5=f6=b1=e5=c9=e7=b6=f8=b0
>>>>采用QP(Quoted-Printable)編碼方式的郵件很容易進行判別,因為它的內容通常有很多等號“
=”,因此不需要看“信頭”也可以判斷是否為QP編碼。
>>>>如果妳的電子郵件接收程序不支持QP解碼,那麽妳看到的就是這些QP-encode“亂碼”。
>>>>解決QP-encode“亂碼”的辦法:
方妙P-encode“亂碼”郵件轉寄到自己的郵箱中,然後用支持QP解碼的電子郵件接收程序(如
Netscape mail、Eudora、OutLook Express、Becky等)來接收該郵件。
肥褂?Winzip 對 Quoted-Printable 解碼。必須註意:(1)在郵件信頭中檢查、添加這樣兩
行:Mime-Version: 1.0Content-Transfer-Encoding: quoted-printable;(2) 信頭中間不要空行,信
頭和信體之間要有壹個空行。這樣形成的文件,改後綴名為UUE,即可雙擊啟動 Winzip 得到解碼。
4.HZ中文亂碼
>>>>由於網友們可能使用不同的電子郵件收發軟件,因此,來自各個網友的郵件內容可能包含著看不
懂的亂碼,例如,如果看到下面這串亂碼,妳壹定看不懂它的意思:
HZ- 學軟?艋?}躪艋用軟?艋?}躪艋買軟?艋?暮冒槁?
>>>>實際上這是壹串“簡體中文HZ”編碼,如果使用Outlook Express發送郵件時,選用HZ編碼,而郵
件的接收者使用Eudora來閱讀郵件,看到的就是這些亂碼。正確的方法是,在撰寫郵件窗口中,選擇
“格式”菜單下的“語言”命令,並選中“簡體中文(GB2312)”項,然後發送郵件。
>>>>這時,如果妳使用Outlook Express,可以打開“查看”菜單點擊“語言”選項中的“簡體中文
(GB2312)”項,或者點擊工具欄上“語言”後面的向下箭頭,選擇“簡體中文(GB2312)”功能項,屏
幕出現壹個對話框,單擊“是”按鈕,所有郵件主題中含有指定字符集的郵件應用新的字符集。
>>>>如果妳使用Eudora之類的軟件,可以使用“南極星”之類的軟件,自動轉換不同的漢字編碼。如
果還看不到的話,可將這些編碼文本,拷貝到壹個文本編輯器中。對於上面那串編碼,妳將看到下面
的內容:
“學軟件、用軟件、買軟件的好伴侶”
5.“半個漢字”亂碼
>>>>漢字的另壹個問題是所謂的“半個漢字”亂碼。如果看到下面這串亂碼,妳壹定看不懂它的意思:
>>>>“把砑?⒂萌砑?⒙蛉砑?暮冒槁隆薄* ”
>>>>由於很多英文編輯軟件以字符為單位來處理文本,漢字被刪除壹半後,剩余的部分會和相鄰的漢
字重新組合,使得文本面目全非。因此,除了在輸入、刪除的時候註意這種問題外,還要註意不要在
英文字處理軟件中輕易使用“字符替換”功能,這往往會把壹個漢字的後壹個字符和相鄰漢字的前壹
個字符當成壹個漢字被替換掉。
>>>>對於“半個漢字”亂碼,只要將“亂碼”郵件存成壹個文本文件,然後使用以字符為單位的編輯
軟件,將“亂碼”行的首字符刪除,後面的部分就會和相鄰的“亂碼”重新組合成可識別的漢字。
>>>>如果上述方法不能奏效,那麽只好告訴對方正確的發送方式,請對方重新發壹份郵件給妳。如果
妳看到的不是上述編碼,那麽請到 [url][/url]查看“亂碼大全”壹文。
三、避免亂碼的措施
>>>>現在妳已經知道亂碼產生的原因和解決辦法,希望妳在發送郵件時也多為他人著想,別讓美好的
心願變成壹堆亂碼。
1.選用大眾化的電子郵件收發程序
>>>>由於不同的電子郵件收發程序支持的編碼有所不同,收件人和發件人自己定制的壹些選項也會各
不相同,所以在收到編碼的信件後,系統不壹定能識別出郵件所用的編碼方法。識別不出編碼方法,
系統自然無法自動解碼,這樣當妳查看信件內容時,就會出現所謂的亂碼,使收信人無法閱讀該文
件。選用大眾化的電子郵件收發程序則可以在壹定程度上避免不同的編碼方法。
2.使用“附件”功能發送文件
>>>>壹般電子郵件收發程序的“附件”功能可以自動對郵件先進行編碼,然後再發送。如果收信人的
電子郵件收發程序(如Netscape mail、Outlook Express、Eudora、Pegasus等)能夠區別郵件的編碼
方式,則可以自動將郵件解碼。
3.發送重要信息時先發測試信
>>>>發送重要信息時,為了確認是否無須編碼即可發送正文,應該先發送測試信。而且還應確定收件
人能否對附件文件進行解碼。如果發送已經編碼的郵件,則最好添加足夠的“信頭”信息,以便收件
人知道所需的解碼方法。
4.不使用電子郵件收發程序特別的編輯功能
>>>>如Outlook Express郵件編輯器是個功能很強的HTML編輯器,妳可以編輯五顏六色、各種字體的電
子郵件。不過,如果接收方不是也使用Outlook Express來接收郵件,可能只看到很難看清楚的HTML源
碼。解決的方法是,在撰寫郵件時,選擇“格式”菜單下的“純文本”選項。如果要將發送格式的缺
省值設置為“純文本”,那麽,在Outlook Express主窗口中,打開“工具”菜單,選擇“選項”,出
現選項設置對話框。單擊“發送”選項卡,將郵件發送格式設置為“純文本”。