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下实现折线图效果的代码
Apr 28 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
php7 错误处理机制修改实例分析
May 25 PHP
php中yar框架实例用法讲解
Dec 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
中国的第一台收音机
2021/03/01 无线电
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PHP中删除变量时unset()和null的区别分析
2011/01/27 PHP
php生成扇形比例图实例
2013/11/06 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
Python实现栈的方法
2015/05/26 Python
深入理解Python中变量赋值的问题
2017/01/12 Python
关于反爬虫的一些简单总结
2017/12/13 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
大学生毕业自我鉴定
2013/11/06 职场文书
电工工作职责范本
2014/02/22 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
销售口号大全
2014/06/11 职场文书
大学迎新生标语
2014/10/06 职场文书
师德师风自查总结
2014/10/14 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
python在package下继续嵌套一个package
2022/04/14 Python
讨论nginx location 顺序问题
2022/05/30 Servers