php教程

超轻量级php框架startmvc

PHP的Json中文处理解决方案

更新时间:2020-03-11 19:21:10 作者:startmvc
本文讲述了PHP的Json中文处理解决方案。分享给大家供大家参考,具体如下:Json是现在被广

本文讲述了PHP的Json中文处理解决方案。分享给大家供大家参考,具体如下:

Json是现在被广泛使用的用于传递字符串的格式,相比xml更显得简单易懂以及更方便操作,php下就俩个函数,json_encode() AND json_deconde()。不过json对中文的支持并不是很好,如果使用json_encode()处理如数组,数组中若存在中文,则会作空白处理。

解决中文的一种方法就是先将中文转换为另一种编码格式,然后再使用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

PHP Json 中文处理