兩年多前,我還在維護計中 webmail 的時候,曾經評估了 Horde/IMP 跑 UTF-8 模式會碰到的問題。當時有一個很大的問題就是很多信的標題都是直接放沒編碼過的 Big5 字,導致顯示不正常。那時候在 Horde 的 MIME::decode 做了一個很噁心的事情:把所有沒編碼的東西都當 Big5 轉一次到 UTF-8,之後測試的時候,一直注意到中文的副檔名不太正確,後來就沒繼續維護後,也一直沒有機會去看為甚麼。
剛才,因為某些緣故,跑去看了另外一套 Horde 的安裝,花了不到十分鐘,發現問題是我自己製造出來的。因為 MIME::decode() 傳進來的字串有可能是已經處理過的,所以已經變成 UTF-8,而我又轉了一次… XD 現在的作法是先 UTF-8 到 UTF-8 轉一次,如果不一樣的話,才當 Big5 處理。目前看起來狀況還不錯,再觀察看看。