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