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 相关文章推荐
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
在JavaScript中调用php程序
Mar 09 PHP
ThinkPHP CURD方法之table方法详解
Jun 18 PHP
destoon复制新模块的方法
Jun 21 PHP
destoon供应信息title调用出公司名称的方法
Aug 22 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 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
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
超清晰的document对象详解
2007/02/27 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
python网络编程之文件下载实例分析
2015/05/20 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
python随机数分布random测试
2018/08/27 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
水产养殖学应届生求职信
2013/09/29 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
python脚本框架webpy的url映射详解
2021/11/20 Python