PHP的Json中文处理解决方案


Posted in PHP onSeptember 29, 2016

本文讲述了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;
  }
?>
PHP 相关文章推荐
php5新改动之短标记启用方法
Sep 11 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
apache mysql php 源码编译使用方法
May 03 PHP
基于php-fpm的配置详解
Jun 03 PHP
PHP实现邮件群发的源码
Jun 18 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
PHP 常用时间函数资料整理
Oct 22 PHP
PHP+Ajax异步带进度条上传文件实例
Nov 01 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
laravel 实现设置时区的简单方法
Oct 10 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 #PHP
PHP快速排序quicksort实例详解
Sep 28 #PHP
PHP实现QQ快速登录的方法
Sep 28 #PHP
PHP自定义错误用法示例
Sep 28 #PHP
PHP构造函数与析构函数用法示例
Sep 28 #PHP
PHP设计模式之工厂模式与单例模式
Sep 28 #PHP
PHP类相关知识点实例总结
Sep 28 #PHP
You might like
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
js仿360开机效果
2019/12/26 Javascript
用js编写留言板
2020/03/17 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
安装dbus-python的简要教程
2015/05/05 Python
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
解决python 找不到module的问题
2020/02/12 Python
Python的in,is和id函数代码实例
2020/04/18 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
人力资源管理专业应届生求职信
2014/04/24 职场文书
安全宣传标语口号
2014/06/06 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
个人党性锻炼总结
2015/03/05 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python