十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
json里面的中文是Unicode编码后的,两个方案,php5.4版本以上的可以使用
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、芝罘网络推广、重庆小程序开发、芝罘网络营销、芝罘企业策划、芝罘品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供芝罘建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
echo json_encode("中文", JSON_UNESCAPED_UNICODE); //"中文"
代码输出中文
方案二,使用下面函数,对php版本没不限制
/**
* 不转义中文字符的 json 编码
* @param array $arr 待编码数组
* @return string
*/
function json($arr) {
$str = json_encode($arr);
$search = "#\\\u([0-9a-f]+)#ie";
$replace = "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))";
return preg_replace($search, $replace, $str);
}
可以使用json_decode函数来操作json数据,下面是官方文档,你可以先看看,有问题再来问
json_encode
对中文的处理是有问题的:
不能处理GBK编码,所有的GBK编码都会替换成空字符;
utf8编码的中文被编码成unicode编码,相当于javascript的escape函数
处理的结果。
为了能正确使用json,首先我们就应该在编码上采用utf8编码,然后再对
json_encode的返回结果稍加处理就可以得到正确的结果了。
即需要加:原始数据$json=iconv("GBK","UTF-8",$json);
json_decode之后需要显示或使用时,再转回来
echo iconv("UTF-8","GBK",$decode['data'][0]['APPName']);
其实就是把这3个结果并成一个数组,再转就是了
例如,
$res1=mysql_query($sql1);
$res2=mysql_query($sql2);
$res3=mysql_query($sql3);
定义一个新的数组 $a = array();
将3个结果压入这个新的数组
array_push($a,$res1);
array_push($a,$res2);
array_push($a,$res3);
最后转义输出
echo json_encode($a);
LZ遇到问题不要气馁呀