关于MYSQL查询生成json的一个问题,在线等!

发布网友

我来回答

2个回答

热心网友

解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:

//urlencode处理
function json_array($obj) {
    foreach($obj as $key => $value) {
        if(is_array($obj[$key])) {
            $obj[$key] = json_array($obj[$key]);
        }else{
            $obj[$key] = urlencode($value);
        }
    }
    return $obj;
}
//urldecode解密转换为中文字符
function _json($obj) {
    return urldecode(json_encode(json_array($obj)));
}

echo _json($json);//$json为你要输出的json数组

此处递归调用是为了处理*数组······

热心网友

在PHP5.4, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode。echo json_encode($json, JSON_UNESCAPED_UNICODE);
找了篇文档可以参考下:http://blog.csdn.net/bjash/article/details/9834497

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com