转换从Facebook Graph API返回的UTF8字符

时间:2011-10-28 18:20:08

标签: php facebook json facebook-graph-api

该字符采用UTF8编码,如..

“\ u676f \ u845b”

如何在PHP中将其转换回普通的UTF8字符串?

2 个答案:

答案 0 :(得分:1)

简单的方法是将您的字符串换成双引号,让json_decode转换\u0000转义符。 (这恰好是Javascript字符串语法。)

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

似乎是亚洲字母:杯葛(当json_decode返回时,它已经是UTF-8了。)

Source

答案 1 :(得分:0)

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'); # 杯葛