解码facebook API返回的用户名

时间:2012-03-29 11:59:24

标签: php facebook-php-sdk

我正在使用facebook API从Facebook获取数据:

$me = $facebook->api('/me');
$name = utf8_decode($me['name']);

正确的名称必须是:Gábriš

如果没有utf8_decode,结果是:GĂbriĹ

如果我使用utf8_decode,结果又不正确:Gábri?

任何人都有任何线索?

由于

2 个答案:

答案 0 :(得分:0)

  

正确的名字必须是:Gábriš

     

如果没有utf8_decode,结果是:GĂbriĹ

然后你没有在你的页面上使用UTF-8(或者你使用这个值的任何地方) - 因为Facebook 以UTF-8返回所有数据。

  

如果我使用utf8_decode,结果又不正确:Gábri?

utf8_decode解码为ISO-8859-1 - 它不包含原始名称中的某些字符,因此这是完全无意义的。

  

任何人都有任何线索?

实际试图实现什么?您对页面使用的编码是什么?如果它不是UTF-8(通常用于网页上的页面),请尝试使用iconv函数将其转码为您正在使用的任何编码(前提是这可以代表这些字符)。

答案 1 :(得分:0)

在数据库连接中插入代码:

    mysql_query("SET NAMES utf8");
    mysql_query("SET CHARACTER_SET utf8");