2012-03-11 114 views
0

我正在執行一個FQL查詢,並且如果我打印帶有結果的數組,我得到錯誤的字符。fql查詢字符編碼

例如,而不是ò我得到ò.

我的網頁設置爲:text/html; charset=ISO-8859-1

我認爲這是與Facebook的問題,而不是我..你有沒有遇到過類似的事情並沒有你管理解決這個問題?

+0

Facebook的API返回的結果是UTF-8編碼之前,您應該在顯示'em'之前正確地將結果轉碼爲正確的編碼。 – 2012-03-11 18:35:46

+0

怎麼樣,有沒有辦法在PHP中做到這一點? – 2012-03-11 22:06:57

回答

2

來自Facebook的結果以UTF-8編碼。

ò characterc3b2 UTF-8(十六進制)0xC3 - Ã0xB2 - ²

要將結果從UTF-8轉換爲ISO-8859-1在PHP中,你可以使用utf8_decode功能:

$source = chr(0xc3).chr(0xb2); 
$result = utf8_decode($source); // -> 0xF2 (ò in ISO-8859-1) 
+0

我正在執行一個fql查詢來檢索朋友的姓名。不幸的是這不是唯一的特殊角色!有沒有解碼和顯示從utf到iso 8859-1的所有內容的方法? – 2012-03-12 13:34:26

+0

@MarkBelli,這實際上是解碼從'UTF-8'到'ISO-8859-1'的任何字符串的方式,代碼只是一個示例來展示如何做到這一點,並且它正在處理您提供的案例。 。只要使用'$ friend_name = utf8_decode($ friend_name)'或類似的東西,請注意,有些用戶會有名字不能用'ISO-8859-1'編碼表示的朋友... – 2012-03-12 14:49:12

+0

好吧..我會嘗試我會告訴你明天會怎麼樣,謝謝! – 2012-03-12 18:00:02