假设当前数组为:$array = array("1"=>"甲","2"=>"乙","3"=>"丙","4"=>"丁");
直接通过json_encode($array)将数组转为JSON对象后,通过HTTP请求发送出去,对方接收到的JSON对象的中文会显示为类似“\u5929”的unicode编码,这是因为json_encode不支持对中文字符的转义
解决方案为:先用urlencode()编码中文字符,再用json_encode()将数组转为json对象,再调用urldecode()进行解码,即可发送中文字符
具体代码如下:
$array = array("1"=>urlencode("甲"),"2"=>urlencode("乙"),"3"=>urlencode("丙"),"4"=>urlencode("丁"));
$json = json_encode($array);
echo urldecode($json);die;
好,这样返回到客户端的数据中的中文字符就可以被解析了.