2008年8月8日 星期五

mailto 應用 subject 參數中文編碼問題

有時候我們會使用 mailto:,讓使用者直接點連結開啟像 Outlook 這一類的軟體發信與我們連絡。甚至可以利用一些參數預設開啟時的一些資料,範例如下。

subject︰主旨。
body︰內文。
cc︰副本。
bcc︰密件副本。

但是當你的頁面是使用 utf-8 編碼時,在繁體中文 Outlook 中文的部份會出現亂碼,原因就是繁體中文 Outlook 是 big5 編碼,而你傳送的參數值是 utf-8 編碼。

在這情況下我們必須將 big5 的文字做 URL 編碼,在 PHP 可以利用 rawurlencode() 這個函式。要注意的是在做 URL 編碼時,必須確定是針對 big5 的文字所做的編碼,以上面的範例更改成如下。

沒有留言: