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 相关文章推荐
用header 发送cookie的php代码
Mar 16 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
php自定文件保存session的方法
Dec 10 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
php实现登录页面的简单实例
Sep 29 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
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python实现发送email的几种常用方法
2014/08/18 Python
python学生管理系统代码实现
2020/04/05 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python中比较两个列表的实例方法
2019/07/04 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
python实现简易淘宝购物
2019/11/22 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
经理秘书找工作求职信
2013/12/19 职场文书
元旦晚会策划方案
2014/02/18 职场文书
服装店营销方案
2014/03/10 职场文书
道德之星事迹材料
2014/05/03 职场文书
工作会议简报
2015/07/20 职场文书
入党后的感想
2015/08/10 职场文书