基于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 相关文章推荐
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
php生成二维码时出现中文乱码的解决方法
Dec 18 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
浅谈json_encode用法
Mar 05 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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正则表达式使用的详细介绍
2013/04/27 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
php创建图像具体步骤
2017/03/13 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
基于jquery的3d效果实现代码
2011/03/23 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
DOM事件探秘篇
2017/02/15 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python执行子进程实现进程间通信的方法
2015/06/02 Python
Python中的条件判断语句基础学习教程
2016/02/07 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
python中栈的原理及实现方法示例
2019/11/27 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
材料采购员岗位职责
2013/12/17 职场文书
房屋委托书范本
2014/04/04 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
网络营销策划方案
2014/06/04 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
机器人总动员观后感
2015/06/09 职场文书