Saturday, October 16, 2004

Mac OS X 信件標題亂碼的解決之道

Mac OS X 自從升級到 10.3 後,所附的「Mail」電子郵件軟體就出現了一個怪問題。中文信件若未被認為是中文編碼而成為亂碼,使用者可以選擇 Message > Text Encoding (郵件 > 文字編碼)來選擇為中文編碼,內容即可正常顯示,可是糟糕的是信件的標題卻不為所動,不管如何更改信件的編碼,標題永遠都是亂碼。這在英文介面的系統裡尤其是個問題,因為編碼不詳的信件都會以預設的語言來顯示,而在英文介面下預設的語言是西方語系,中文信件自然就成了亂碼,需要更改編碼的機會也就多了。

一位朋友 Luke 發現解決之道。若您是以英文為作業系統及 Mail 的主要語言,那麼您可以開啟開機硬碟之下的 System/Library/Frameworks/ 這個檔案夾,並找到其中的 Message.framework,再打開裡面的 Resources,將 zh_TW.lproj 裡的 LocalizedDefaults.plist 取代 English.lproj 裡的 LocalizedDefaults.plist 即可。因為這個目錄無法任意更改,所以您最好有管理者的權限,並可能要把 zh_TW.lproj 裡的 plist 檔拷貝至桌面、再從桌面拷貝至 English.lproj 裡才能順利取代。

若在 Resources 裡沒有 zh_TW.lproj 這個檔案夾,也可以用 Property List Editor 來編輯 English.lproj 裡的 LocalizedDefaults.plist,並增加一項 NSPreferredMailCharset 的項目並將其值設為 big5 即可。若您也沒有 Property List Editor....,則請將該 plist 檔的內容用文字編輯器改為:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPreferredMailCharset</key>
big5
<key>SendFormat</key>
<string>MIME</string>
</dict>
</plist>

關掉 Mail 再打開,即會發現信件標題也會依所選語系來顯示了。以上方法適用於繁體中文信件,其他編碼的信件未能測試。

我不明白為什麼蘋果公司不立即解決像這樣的錯誤並發布軟體更新來讓使用者升級,我們似乎一定要等到下一次重大的系統升級(例如 10.3 -> 10.4)才有可能看到這類問題被解決。但是照以前的經驗來看,重大的更新都必須以相當的價格才能購得,而且竟然沒有任何升級價。換句話說,使用者必須付出昂貴的代價才能讓軟體的問題被解決,這顯然是極為不公平的。

本文同步刊登於符號工作站