最近一直研究在UTF-8中發送中文電郵到yahoo之類的webmail時會出現問題,做了一個網頁來測試對應不同webmail和一般使用的outlook express的特性。我想可以作為正在致力進行UTF-8中文化的同志提供一點點參考,所以先拿出來分享一下。由於小弟所工作的是個跟電玩有關的香港網站,常會出現繁體中文、日文和香港增補字集混用的情況,單用iconv很多時候都會出問題,所以這個網頁是以無論有甚麼國家字元放進去都行得通的做法去做。

老實說,幾乎每一個webmail都有不同的脾性,小弟實在不知道有沒有一個統一的方式可以對應到所有電郵中,所以只有用最蠢的 if 方式來決定對應方式,現在只對應hotmail,yahoo和gmail,新浪也只是測試性質(因為那個電郵系統實在太爛了...)。其中最笨的,要算是hotmail,竟然要將信件內容轉回big5去...另外,yahoo的測試中發現如果將電郵forward到一般電郵程式上閱讀,會變成一堆xxxx;的unicode碼,需要收信人自己處理(當然,干脆使用html電郵就可以解決問題,但有部份電郵程式,尤其是大學的老古董都無法看,所以我還是堅持以text/plain格式寄信)理所當然地,一些小弟不知道的webmail就可能會出現不對應的情況了。 如果各位大大有甚麼心得的話,請分享一下。

另外,這個網頁還有一點地方使用了mbstring extension,不過知道很多網頁寄存空間都沒有開啟這extension的功能,所以可能的話,也想自己編寫個不用mbstring也能正確計算utf-8字串字數和選取utf-8字串部份的函式。這點由於小弟在忙著別的事情,留待容後再處理了。 (閱讀全文)