php json_decode没有显示的东西

时间:2011-02-04 11:44:53

标签: php json

我使用来自维基百科的php json_decode,但是没有显示。 我添加了

header('Content-Type: text/html; charset=utf-8');

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

$data = json_decode(utf8_encode($body));

这件小事是\/m\u0259\u02c8d\u0292\u028cskju\u02d0lz\/

1 个答案:

答案 0 :(得分:1)

utf8_decode()不会查找\u02c8之类的字符串表达式。你必须反过来解码它:

$data = json_decode($body, 1);  // first; converts \u1234 to strings

array_walk_recursive("utf8_decode_walk", $data);
function utf8_decode_walk($item, $key) {
    return utf8_decode($item);
}                               // replace UTF-8 with Latin-1

如果它是嵌套数组,那么你需要带有包装函数的array_walk_recursive。

尽管如果您仍然使用charset="UTF-8"发送输出页面,但您不需要转换步骤。