基于php解决json_encode中文UNICODE转码问题


Posted in PHP onNovember 10, 2020

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式,如果想汉字不进行转码,这里提供三种方法

1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

<?php
echo json_encode("中文", JSON_UNESCAPED_UNICODE);
//"中文"

2.把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。

$array = array(
'test'=>urlencode("我是测试")
);
$array = json_encode($array);
echo urldecode($array);
//{"test":"我是测试"}

3.对unicode码再进行解码,解码函数如下:

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);
}

4.例子

$arr = array('name1':"中文",'name2':'abc12');
$jsonstr = decodeUnicode(json_encode($arr));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php部分常见问题总结
Mar 27 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
php遍历CSV类实例
Apr 14 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 #PHP
关于PHP求解三数之和问题详析
Nov 09 #PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 #PHP
PHP后门隐藏的一些技巧总结
Nov 04 #PHP
phpstudy2020搭建站点的实现示例
Oct 30 #PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 #PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 #PHP
You might like
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Knockoutjs的环境搭建教程
2012/11/26 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
python列表操作使用示例分享
2014/02/21 Python
Python去掉字符串中空格的方法
2014/03/11 Python
Python采用raw_input读取输入值的方法
2014/08/18 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
python操作 hbase 数据的方法
2016/12/18 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
美国钻石商店:Zales
2016/11/20 全球购物
人力资源主管职责范本
2014/03/05 职场文书
爱心捐款倡议书
2014/04/14 职场文书
法律系毕业生求职信
2014/05/28 职场文书
国际贸易系求职信
2014/08/09 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
解约证明模板
2015/06/19 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
Java Spring读取和存储详细操作
2022/08/05 Java/Android