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