关于json中文编码问题

假设当前数组为:$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;

好,这样返回到客户端的数据中的中文字符就可以被解析了.

你可能感兴趣的:(综合知识)