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 相关文章推荐
php实现jQuery扩展函数
Oct 30 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
Apr 15 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
Aug 28 PHP
php文件夹的创建与删除方法
Jan 24 PHP
php银联网页支付实现方法
Mar 04 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
yii2 上传图片的示例代码
Nov 02 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 array 的加法操作代码
2010/07/24 PHP
PHP Switch 语句之学习笔记
2013/09/21 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
ExtJS 入门
2010/10/29 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
使用python3.5仿微软记事本notepad
2016/06/15 Python
Python实现的计算器功能示例
2018/04/26 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
详解Python实现进度条的4种方式
2020/01/15 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
HEMA法国:荷兰原创设计
2019/02/21 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
入党推优材料
2014/06/02 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
财政局个人总结
2015/03/04 职场文书
2015年导购员工作总结
2015/04/25 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript