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和ACCESS写聊天室(三)
Oct 09 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 PHP
php include类文件超时问题处理
Feb 06 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
php文件缓存方法总结
Mar 16 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
php格式化时间戳
Dec 17 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
php微信开发之音乐回复功能
Jun 14 PHP
php获取微信基础接口凭证Access_token
Aug 23 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
详解python中index()、find()方法
2019/08/29 Python
python实现文字版扫雷
2020/04/24 Python
详解python with 上下文管理器
2020/09/02 Python
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
Reformation官网:美国女装品牌
2018/09/14 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
施工资料员岗位职责
2014/01/06 职场文书
寄语是什么意思
2014/04/10 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
解除施工合同协议书
2014/10/17 职场文书
县委务虚会发言材料
2014/10/20 职场文书
专业见习报告范文
2014/11/03 职场文书
保送生自荐信范文
2015/03/26 职场文书
烈士陵园观后感
2015/06/08 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
OpenCV-Python实现轮廓的特征值
2021/06/09 Python