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 选项及相关信息函数库
Dec 04 PHP
PHP cron中的批处理
Sep 16 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
PHP入门学习笔记之一
Oct 12 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 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生成EXCEL的东东
2006/10/09 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
Python闭包实现计数器的方法
2015/05/05 Python
Python多进程机制实例详解
2015/07/02 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
小学信息技术教学反思
2014/02/10 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
个人职业及收入证明
2014/10/13 职场文书
教师个人学习总结
2015/02/11 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL