舊版(1.6 ~ 1.9版)Moodle FAQ

為何本校的 WebMail 收到本系統的 EMail 都顯示亂碼, 如何解決?

回應: 為何本校的 WebMail 收到本系統的 EMail 都顯示亂碼, 如何解決?

de jshin 張景新 -
Número de respuestas: 0

>> 主旨仍然是顯示亂碼, 這個無解, 但內容編碼已 auto detect 設為 UTF-8

這是因為 Webmail 會把 quoted-printable (QP) encode 的「主旨」decode 回來成為 binary codes (不需要知道什麼碼), 可是沒將他轉碼 (不支援). 這確實是 Webmail 的問題.

而內容部份, 經過 decode 後, 直接 pass 給 browser 顯示; 只要 browser 有支援 utf-8, 就能顯示正確. (不關 Webmail 的事).

要解決這個問題有兩種方法:

(1) 在 Webmail QP decode 之後, 把 subject (甚至 html body都) 轉成 big5 (當然, 如果連 html body 都轉, 也要把 meta tag 的 charset 順便改成 big5).

(2) 不改 Webmail source, 而在 moodle/phpmail 將 utf-8 轉碼為 big5 之後, 再用 Base64/QP 格式分別將 subject/body 轉成 ascii characters 送出來. (當然, subject/from/to 的 B64 prefix 改成 '=?big5?B?...?=', html body 內的 meta tag 的 charset 改為 big5.

轉碼的程式 source code (in C) 我應該有 (utf-7/utf-8 <=> big5/gb). 只是不知道塞到哪裡去了. 大笑 你用 Google 一下 'u8tob5', 'b5tou8', 'u8togb', 'gbtou8, 'u8tou7', 'u7tou8', 'u8touni', 'unitou8' 大概就找得到. 交大的 ftp 應該也有.

找不到再跟我講 !!