2014年3月24日 星期一

客戶寄來的Email亂碼 怎麼辦?

■相信大家一定常常看到Email這樣的亂碼
 
<      From: “KING HOME" <xxxx@yahoo.com.tw>
    Sent: Saturday, June 21, 2003 08:30
    AMSubject: [SHOPE] ¯¬Roger¤Î¦N¸q¨â¤H¥Í¤é§Ö¼Ö¡I
<      ¬Ý¨ì¨â¦ì¹Ø¬P¦bºô¸ô¤W¤¬¶P¥Í¤é§Ö¼Ö!
   Åý
§Ú¬Ý¨ì°§«á,ÁöµM¥Ø«e¨­³BÀI¹Ò¡A
  (¦]¬
°¤µ¤Ñ¬O¥»¾Ç´Áªº´Á¥½³ø§i®É¶¡,§Ú«o§Q¥Î®É¶¡¦b¬Ýmail,«¢«¢¡^
  ¤@¤è­
±­nª`·N¦Ñ®vªº¤@¨¥¤@Á|¥H§K³Q®»µÛ¥¿µÛ¡A
  ¤@¤è­
±¤S­n§Ô¦í¤@Âù¤âªº½Ä°Ê¡A¼H¼H¡I
  ¤£¹LµL½
צp¦ó¡AÁÙ¬O­n¤jÁn¯¬ºÖ¨â¦ì¥Í¤é§Ö¼Ö¡I
  
§ó­«­nªº¬O¤Ñ¤Ñ³£­n¶}¤ß§Ö¼Ö³á¡I
  ¡@¡@
°½°½¤Wºô«¢©ÔªºNancy¤W


■標題亂碼
Ä     =?big5?B?wuC//aFGsdKoxqRAq2g=?=
Ä      [SHOPE] ¯¬Roger¤Î¦N¸q¨â¤H¥Í¤é§Ö¼Ö¡I

■信件內文亂碼
This is a  multi-part message in MIME format.
  =_NextPart_000_00C7_01BE9740.DC4A23A0
 Content-Type:  text/plain;charset="big5"Content-Transfer-Encoding:
  quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2  Final//EN"
 <HTML <HEAD <meta  http-equiv=3D"Content-Type"content=3D"text/html;
  =charset=3Dbig5" <meta name=3D"Bryce Lee" content=3D"PC home Tech.  Dept."
 <TITLETo me=A4W=BDZ=A8t=B2=CE </TITLE  </HEAD <BODY
  =BD=D0=A6b=A4U=A6C=AA=C5=A5=D5=B3B=BF=E9=A4J=B1z=AA=BA=A6W=A6r=A1A=AB= 6 =A4


Why
Ä     這些文字是什麼意思?
Ä     也許只有寄出這封信,或是使用像Outlook這種郵件程式的人才看得懂。
Ä     為什麼會產生這種現象?

■亂碼解讀()
&   這不是因為讀信者的設定不對,而是發信者沒有在郵件程式中做正確的設定。
ð     Outlook  express為例,預設的郵件標題格式只能接受七位元的字元,
ð     這樣的設定對英文語系來說是沒有問題的;
8     但是中文字卻是由八位元的位元組所組成,
ð     因此不把標題設定成「可以接受八位元字元」的話,中文標題就沒辦法正確的傳送,
ð     以致於有些使用者看到的就是一堆標題亂碼。

■亂碼解讀()
*   郵件內文的錯誤則是出在:
8     發信者把他們發出的信件用一種稱為QP的編碼方式編碼過。
8     這種編碼方式並不適用在中文信的環境,因此使得信件內容完全無法辨識。
&    使用outlook  express的使用者,不會看到這兩種亂碼。
&   這並不意味著 outlook  express就是好的郵件程式,只是它會自動判別這兩種情形,
ð     自動做解開編碼的動作,所以使用者不會知道自己的設定是錯的。
ð     這反而成為一種惡性循環,使得那些無法解開編碼的使用者,例如在工作站讀信,或用netscape的使用者更為困擾。
M   大部分這種信件都是由  outlook express發出的,少部分是由 eudora發出。
M   那麼,怎麼設定呢?
M   以大家用得最多,出錯也最多的 outlook  express為例,

■以outlook  express設定
:     請至主畫面的下拉式選單中點選「工具」-「選項」這時會出現一個視窗,裡頭有很多活頁標籤。
8     請點選 傳送」這個活頁標籤,  
8      並在下方的「郵件傳送格式」中點選「HTML」這一項,  
8     然後在旁邊的「HTML設定」按鈕上按一下滑鼠左鍵。
8     這時會出現一個小視窗  請點選「MIME」這一項,
8     並在其後的「文字編碼方式 下拉選單中選取「」,
8     後把下方「標題允許八位元的字元」核取方塊勾選起來,
8     點選位於對話方塊中央之「國別設定 按鈕,
8     請確認「  傳送郵件之預設編碼」選擇「繁體中文(big 5)
8     而且請取消「 回信時標題永遠使用英文  之選項
:     再來請選擇「選項 中之「讀取
8     標籤頁最下方有「字型 按鈕可設定為「內收郵件之預設編碼
8     右方之「國別設定 按鈕中把「內收郵件採用預設編碼」之選項打勾
8     選取然後連按數次「確定」, 把設定視窗完全關閉。
1 以上的動作會把你送出去的郵件格式設定成HTML格式,標題可以用中文的字元 
1 這樣,別人就再也不會看到亂碼的內文和標題了。
<     這是以 outlook express 6為例,outlook express 5  outlook 97/98的設定過程大致相同。
<     Netscape 的使用者不必做任何更改。
     請大家檢視一下自己的設定吧,舉手之勞,讓大家溝通更順暢


引字自:http://blog.udn.com/jpchen01/2562197