Расшифруйте имя пользователя, возвращенное API Facebook - PullRequest
2 голосов
/ 29 марта 2012

Я использую Facebook API для получения данных от Facebook следующим образом:

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

Правильное имя должно быть: Габриш

Без utf8_decode, результатis: Gábriš

И если я использую utf8_decode, результат снова будет неправильным: Gábri?

Кто-нибудь имеет какие-либо подсказки?

Спасибо

Ответы [ 2 ]

0 голосов
/ 28 января 2014

Вставьте код в БД подключения:

    mysql_query("SET NAMES utf8");
    mysql_query("SET CHARACTER_SET utf8");
0 голосов
/ 21 декабря 2012

Правильное имя должно быть: Gábriš

Без utf8_decode, результат будет: Gábriš

Тогда вы не используете UTF-8 для своей страницы (илигде бы вы ни использовали это значение) - потому что Facebook действительно возвращает все данные в UTF-8.

И если я использую utf8_decode, результат снова будет неправильным: Габри?

utf8_decode декодирует в ISO-8859-1 - который не содержит некоторых символов в оригинальном имени, так что это полная чушь.

У кого-нибудь есть какие-либо подсказки?

Чего вы на самом деле пытаетесь достичь?Какую кодировку вы используете для своей страницы?Если это не UTF-8 (что в общем случае для страниц в Интернете должно быть), попробуйте функции iconv, чтобы перекодировать его в любую кодировку, которую вы используете (при условии, что эта может представлять эти символы).

...