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 相关文章推荐
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
php 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
ThinkPHP5框架缓存查询操作分析
May 30 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中var_export与var_dump的区别分析
2010/08/21 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
Vue 获取数组键名的方法
2018/06/21 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
python从入门到精通(DAY 2)
2015/12/20 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
解读python如何实现决策树算法
2018/10/11 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
环境日宣传活动总结
2014/07/09 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
匿名检举信范文
2015/03/02 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
企业百日安全活动总结
2015/05/07 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle