基于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 相关文章推荐
Content-type 的说明
Oct 09 PHP
PHP实现网上点歌(二)
Oct 09 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
thinkphp的dump函数无输出实例代码
Nov 15 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 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
松下Panasonic RF-B65电路分析
2021/03/02 无线电
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python包和模块的分发详细介绍
2020/06/19 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
科室工作的个人自我评价
2013/10/30 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
公司中秋节活动方案
2014/02/12 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
绿色环保标语
2014/06/12 职场文书
校车安全责任书
2014/08/25 职场文书
学前教育专业求职信
2014/09/02 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
岗位职责范本大全
2015/02/26 职场文书
会计岗位职责范本
2015/04/02 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
七年级英语教学反思
2016/02/15 职场文书