基于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中unlink()、mkdir()、rmdir()等方法的使用介绍
Dec 21 PHP
php代码审计比较有意思的例子
May 07 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
php模板引擎技术简单实现
Mar 15 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
PHP实现多级分类生成树的方法示例
Feb 07 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
360搜索引擎自动收录php改写方案
Apr 28 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
详解no input file specified 三种解决方法
Nov 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+mysql扎实个人基本功
2008/03/27 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
php多任务程序实例解析
2014/07/19 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
Javascript 面向对象 命名空间
2010/05/13 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
深入理解Node module模块
2018/03/26 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
python关闭windows进程的方法
2015/04/18 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
浅析Python多线程下的变量问题
2015/04/28 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
工业自动化毕业生自荐信范文
2014/01/04 职场文书
年底个人总结范文
2015/03/10 职场文书
个人承诺书格式范文
2015/04/29 职场文书
信用卡工资证明范本
2015/06/19 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书