很久之前聽過一位朋友講過,使用UTF-8編碼發送郵件,會有亂碼的情況發生。近日為公司開發支援多語言的網站,正好要使用UTF-8編碼。網站有會員註冊,查詢表單等模組皆需寄送郵件給註冊使用者或管理員。心裡尋思著免不了要和這亂碼問題起正面衝突了。
奇怪的是,專案一直順利進行的,雖然郵件中的中文在網頁裡查收確實是會亂碼。但是用Outlook或Foxmail收取之後在本地查看卻很正常。哈,莫非友人所指的亂碼便是如此?看來問題不大,我便將網站上傳到伺服器交由另一組去測試了。
第二天,正當我悠哉遊哉地在聽歌看文章時,那邊同事回饋過來說收到郵件會亂碼。我心下吃了一驚了,立刻試了一下,果然,用Foxmail收到打開之後還是一陀問號。循例Google了一翻,想看看有沒有人遇到同樣的問題,但沒什麼發現。之後又去dimc.net(Jmail的官網)的論壇晃了半天,也沒能解決問題。看來只有靠自己了。 。 。
經過兩個小時不斷在伺服器上修改程式碼發送郵件測試,問題並無改善。
於是開始從本機與伺服器上面的差異入手,先是發現jmail的版本不一致,便更新了伺服器的jmail版本。無效。感覺問題應該不是出在網站程式和Jmail元件上。為了確定問題的關鍵,在郵件發送之前將已經賦給Jmail的內容輸出,果然,在這裡郵件的內容已經亂碼。我的作業系統裝的是簡體中文版,伺服器上面的是英文版,最後。嘗試在區域與語言選項裡面的高級,非unicode程式的語言上面選用了中文,重啟伺服器之後問題終於解決。