php 输出json及显示json中的中文汉字详解及实例


Posted in PHP onNovember 09, 2016

php 输出json及显示json中的中文汉字

在php中,我们经常需要将数组输出json,只需要使用json_encode函数处理一下数组即可,但有的时候数组里面有中文,使用json_encode函数处理后中文字符被编码成了Unicode,如何才能在json中显示中文呢?请看下文。

首先介绍一下php输出json格式:

一种最简单的用法,就是把数组直接输出为json,如下:

<?php
$arr = array('p1'=>'ni"hao','p2'=>2,'ch'=>'码农你好!');
$json = json_encode($arr);
echo $json;
?>

输出的结果为:

{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}

这里要注意:

双引号在json中会被自动编码为\",这个很好理解,js中字符串中是不允许出来单引号、双引号和反斜杠的。
中文字符被编码成了Unicode

如果是写接口,那直接这样输出就够了,中文无需去做处理。等到了客户端,再去把Unicode的中文转成汉字即可。但如果要在服务器端直接输出汉字出来,那我们可以做如下处理。

<?php
$arr = array('p1'=>'nihao','p2'=>2,'ch'=>'码农你好!');
$json = json_encode($arr);
echo decodeUnicode($json);

function decodeUnicode($str){
  return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
    create_function(
      '$matches',
      'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
    ),
    $str);
}
?>

输出:

{"p1":"ni\"hao","p2":2,"ch":"码农你好!"}

这个操作很简单,其实就是把输出结果匹配一下,把Unicode还原成了汉字。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
中国站长站 For Dede4.0 采集规则
May 27 PHP
基于Zookeeper的使用详解
May 02 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
ini_set的用法介绍
Jan 07 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
php实现简单文件下载的方法
Jan 30 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
深入理解PHP类的自动载入机制
Sep 16 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 PHP
Yii2框架制作RESTful风格的API快速入门教程
Nov 08 #PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 #PHP
php基于curl重写file_get_contents函数实例
Nov 08 #PHP
php发送http请求的常用方法分析
Nov 08 #PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 #PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 #PHP
php实现的http请求封装示例
Nov 08 #PHP
You might like
php 文章采集正则代码
2009/12/28 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php常用表单验证类用法实例
2015/06/18 PHP
Js实现动态添加删除Table行示例
2014/04/14 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
使用JavaScript破解web
2018/09/28 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
js+css实现全屏侧边栏
2020/06/16 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
用Python进行TCP网络编程的教程
2015/04/29 Python
Python切片操作实例分析
2018/03/16 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
python将字母转化为数字实例方法
2019/10/04 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
三分钟英语演讲稿
2014/04/24 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
介绍信如何写
2015/01/31 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
八年级作文之感恩
2019/11/22 职场文书
简述Java中throw-throws异常抛出
2021/08/07 Java/Android