2012-03-11 53 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