Преобразование символов UTF8, возвращенных из Facebook Graph API - PullRequest
1 голос
/ 28 октября 2011

Символ в кодировке UTF8, например ..

"\ u676f \ u845b"

Как преобразовать его обратно в обычную строку UTF8 в PHP?

Ответы [ 2 ]

1 голос
/ 28 октября 2011

Простой подход состоит в том, чтобы заключить вашу строку в двойные кавычки и позволить json_decode преобразовать экранирование \u0000. (Это может быть синтаксис строки Javascript.)

 $str = json_decode("\"$str\"");

Кажется, что это азиатские буквы: 杯葛 (это уже UTF-8, когда json_decode возвращает его.)

( Источник )

0 голосов
/ 28 октября 2011

http://webarto.com/83/php-unicode_decode-5.3 демо: http://ideone.com/AtY0v

function unicode_decode($string) {

    $string = preg_replace_callback('#\\\\u([0-9a-f]{4})#ism',
    create_function('$matches', 'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'), 
    $string);

    return $string;

}

echo unicode_decode('\u676f\u845b'); # 杯葛
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...