PHP 数组转json ,字符串中文乱码解决 (unicode)

定义一个数组
 
 
$arr_tem = array(
    array(
        "id"=> 1,
        "name"=>"油库",
        "OilMass"=>"",
        "YeweiVol"=>"",
        "children"=>array("")
    )
);
正常转json
 
$json_arr = json_encode($arr_tem);
会{"id":1,"name":"\u6cb9\u5e93","OilMass":"","YeweiVol":"","children":
\u6cb9\u5e93乱码unicode乱码
function decodeUnicode($str)
{
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
        create_function(
            '$matches',
            'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
        ),
        $str);
}
$jsonstr = decodeUnicode(json_encode($arr_tem));
正常中文输出

PHP5.4以上版本可以这样解决

Json不要编码Unicode.

 
$json_arr = json_encode($arr_tem,JSON_UNESCAPED_UNICODE);

猜你喜欢

转载自blog.csdn.net/shunlijian2283/article/details/80089422