基于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 相关文章推荐
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
将php数组输出html表格的方法
Feb 24 PHP
PHP错误和异长常处理总结
Mar 06 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
php使用array_chunk函数将一个数组分割成多个数组
Dec 05 PHP
基于laravel Request的所有方法详解
Sep 29 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中exec函数和shell_exec函数的区别
2014/08/20 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
python基于event实现线程间通信控制
2020/01/13 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
python中format函数如何使用
2020/06/22 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
一个C/C++编程面试题
2013/11/10 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
个人简历自我评价八例
2013/10/31 职场文书
审计专业自荐信范文
2014/04/21 职场文书
解除同居协议书
2015/01/29 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
学生会工作感言
2015/08/07 职场文书
你会写请假条吗?
2019/06/26 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫