↑↑這是在Chrome下用Big5檢視,上面是轉碼前,下面是轉碼後

昨天在玩Google Weather API時他有一個參數是設定你的語言的,那個參數如果不設定則API傳回值是英文的,然後是UTF-8編碼,但如果設定zh-TW則回傳值是中文的,但是是使用Big-5編碼,因此在使用這組API時我必須要把它的傳回值重新編碼成UTF-8才能使用,畢竟現在Big-5的網站已經蠻少了,所以我昨天就去找了mb_convert_encoding這個函式來幫我轉編碼~

如果你跟我遇到了類似的事情,某API傳回值的編碼不是你要的,那麼你就會需要使用到mb_convert_encoding這個函式,來將他編碼轉換,mb_convert_encoding這函式其實蠻好用的,他可以將指定字串進行編碼轉換,而且不限制是utf8->big5或是反過來,甚至GBK還有各種其他國家的編碼都可以轉換,但是使用前必須要先確定你的PHP的mbstring是開啟的

↑↑Windows用戶可以到C:Windowsphp.ini檢查php_mbstring.dll是否有安裝好

mb_convert_encoding格式

mb_convert_encoding(要編碼的字串,目標編碼格式,原本的編碼格式)

檔案載點:Box.net4Shared | Xun6

Ex.

把utf-8的字串轉換成big-5

$str='測試';
echo $str;		//此時是UTF-8
$str=mb_convert_encoding($str,'big5','utf8');
echo $str;		//此時是BIG-5