【PHP】mb_convert_encoding – 遇到某些API的回傳值編碼不是自己要的? 來轉碼吧

↑↑這是在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

6 thoughts on “【PHP】mb_convert_encoding – 遇到某些API的回傳值編碼不是自己要的? 來轉碼吧”

    1. 比如你在使用google weather api時
      他的回傳值是big5的
      可是你不能跟Google說要設定成utf8
      他應該是不會理你吧…
      這時候就只好自己轉碼囉~

  1. 抱歉離題一下
    想請問大大一件事情
    有辦法再鋪浪的自我介紹上面放自己音樂的語法嗎
    想讓噗浪跟無名一樣可以用很多功能
    但我使用音樂語法產生器產生出來的語法放到自我介紹裡面卻都是語法而已
    沒有形成一個播放器
    想請教超強的大大
    該怎麼做呢?
    謝謝^^

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料