造成郵件亂碼的原因很多,但歸納起來不外乎有三種情況:一是操作系統和使用的軟件設置不同導致的;二是發送郵件時發送程序采用不同的編碼標准,如UU、MIME、BINHEX等,而你所用的操作系統程序沒有能力將其解碼,收到的郵件像“天書”一般;三是郵件傳輸郵局主機的原因,如有的主機(特別是國外的)不支持非ASCII碼,將中文雙字節或二進制格式郵件中每個字符的第八位過濾掉,使該信息與初始信息截然不同,造成郵件信息失真或損壞。當你收到亂碼郵件後,如果讓對方重發一次,既浪費時間,又顯得你“露怯”,不如通過嘗試以下方法自行解碼:
1.根本設置
對OutlookExpress進行根本設置,可徹底解決電子郵件的亂碼。打開OutlookExpress後,選擇“工具”→“選項”命令,單擊“閱讀”標簽,再單擊“字體”按鈕,選擇“簡體中文(GB2312)”,同時把它設置為默認值。接下來,單擊“國際設置”按鈕,選中“為接收的所有的郵件使用默認的編碼”,確定退出。如此設置後,當你打開所有郵件,通常都不會再出現亂碼了。
2.選項查看
通常情況下,沒有進行上述郵件設置,導致郵件亂碼情況居多。在OutlookExpress中,選擇亂碼郵件後,單擊“查看”→“編碼”→“簡體中文(GB2312)”或“其他”→“簡體中文(HZ)”,郵件內容即可展現。
3.轉寄再收
如仍顯示亂碼,可試著將亂碼郵件轉寄到自己的郵箱中,然後用OutlookExpress接收,有時即可順利解碼。
4.改名重讀
仍然不行可將郵件改名,存成一個後綴名為.eml的文件,由OutlookExpress打開一般都可以自動解碼。
5.追根溯源
對於采用不同編碼標准產生的亂碼郵件,解碼工作比較專業,說起來會很生澀。我們不妨選擇亂碼郵件後,右鍵單擊鼠標,在彈出的快捷菜單中選擇“屬性”命令,接著在出現的對話框中單擊“詳細資料”標簽,再單擊“郵件源文件”按鈕,這時就會打開郵件源文件碼,郵件內容顯現。
6.巧妙騙解
如問題仍得不到解決,接上一步操作,右鍵單擊,選“復制”,將“郵件源文件”拷貝到系統的剪貼板上,然後用記事本將其打開。在郵件信頭中添加Mime-Version:1.0Content-Transfer-Encoding:quoted-printable,注意信頭中間不要空行,信頭和信體之間要有一個空行,保存為.txt純文本文件。接下來用資源管理器將其改名為.uue為後綴的文件並運行,這時會自動調用WinZip並“騙取”它來對亂碼郵件進行解碼工作,進而正確顯示編碼郵件的“廬山真面目”。
7.代碼替換
將亂碼郵件存為一個.eml的文件,用記事本打開。然後打開一個正常郵件,選擇並復制一呗代碼:
Content-Type:text:/plain;
charset="GB2312"
Content-Transfer-Encoding:quotedprintable
替換粘貼到亂碼郵件的相應位置,保存後關閉郵件。這時亂碼郵件變為正常郵件。
8.優化重組
很多的郵件編輯軟件以字符為單位處理文本,雙字節的漢字被刪除一半後,剩余部分會和相鄰的漢字重新組合,使得文本面目全非。我們收到的絕大多數郵件屬於此類。判斷這類郵件時,只要亂碼內容有很多“=”號,即可肯定為QP編碼的郵件。這時我們需要將亂碼郵件存成一個文本文件,然後使用以字符為單位的編輯軟件,將亂碼行的第一個字符刪除。筆者有一個很笨但十分有效的辦法,就是將亂碼連接起來,不管多長,發現內容之間有兩個“=”號,去掉其中的一個多余“=”號,後面的部分就會和相鄰的亂碼重新組成可識別的漢字。
如果以上方法均不能奏效,則可以判斷收到的亂碼郵件未經過編碼造成第8位字節濾掉而成為無法還原的死亂碼文檔,只好請對方重發郵件給你了。