基于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程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
分享PHP header函数使用教程
Sep 05 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
thinkPHP中create方法与令牌验证实例浅析
Dec 08 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
Dec 13 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中url函数介绍及使用示例
2014/02/13 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
犀利的js 函数集合
2009/06/11 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
使用Python从零开始撸一个区块链
2018/03/14 Python
Windows下安装Scrapy
2018/10/17 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python简单验证码识别的实现方法
2019/05/10 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
Python函数参数分类原理详解
2020/05/28 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
最新销售员个人自荐信
2013/09/21 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
烹饪自我鉴定
2014/03/01 职场文书
委托书范本
2014/04/02 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android