基于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自动加载的两种实现方法
Jun 21 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
php中定时计划任务的实现原理
Jan 08 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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
使用PHP模拟HTTP认证
2006/10/09 PHP
前端必学之PHP语法基础
2016/01/01 PHP
php curl常用的5个经典例子
2017/01/20 PHP
js判断undefined变量类型使用typeof
2013/06/03 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python实现杨氏矩阵查找
2019/03/02 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
python os.fork() 循环输出方法
2019/08/08 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
大学生毕业的自我评价分享
2014/01/02 职场文书
设计师个人求职信范文
2014/02/02 职场文书
目标责任书范文
2014/04/14 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
2015年保送生自荐信
2015/03/24 职场文书