解决中文的一种方法就是先将中文转换为另一种编码格式,然后再使用json_encode(),最后再用解码把json串进行解码。还有一种方式就在php新版本中得到了解决,在下面的代码为展示。
以下为代码示例
<?php
header("Content-type:text/html;charset=utf-8");
$arrayName = array('city' => '广东','goods'=>'cookies' );
$arr = json_encode($arrayName);
echo $arr."</br>";
var_dump(json_decode($arr));
echo "</br>";
echo urldecode(json_encode(ch_json($arrayName)))."</br>";
/*
需要php版本在5.4以上
echo json_encode($arrayName,JSON_UNESCAPED_UNICODE);
*/
function ch_json($arr){
if(is_array($arr)){
foreach ($arr as $key => $value) {
$arr[urlencode($key)] = ch_json($value);
}
}else{
return urlencode($arr);
}
return $arr;
}
?>
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json