Проблема кодировки символов из Facebook JSON в HTML через PHP - PullRequest
3 голосов
/ 30 июня 2010

Я получаю JSON-кодированный массив из Facebook, который содержит:

[{"message": "D \ u011bkujeme Zuzana" Boh \ u00e1 \ u00e1 za na \ u0161i novou profilovou fotku: -) спасибо Зузана Бох для нашего новое изображение профиля :-) "}]

Когда я декодирую JSON и выводю содержимое, я получаю:

DÄ ›kujeme Zuzana BohÃÄÄOVáa naÅ¡i novou profilovou fotku :-) Мы благодарим Zuzana BohÃÄÄová для нашего нового профиля картинка: -)

Я использовал mb_detect_encoding($message), и он в формате utf-8, но как мне преобразовать символы, готовые для потребления человеком?

Ответы [ 2 ]

3 голосов
/ 30 июня 2010

Вы получаете все правильные байты, но отображаете их неправильно.

Убедитесь, что вы используете правильный набор символов в заголовке типа контента.Самый простой способ сделать это в PHP такой:

ini_set( 'default_charset', 'UTF-8' );

Но вы также можете сделать это

header( 'Content-Type: text/html; charset=utf-8' );
3 голосов
/ 30 июня 2010

PHP декодирует это просто отлично. При выводе в браузер убедитесь, что вы делаете что-то подобное, чтобы не смешивать наборы символов в приложении:

header('Content-type: text/html; charset=utf-8');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...