基于php解决json_encode中文UNICODE转码问题
作者:小猿笔记 时间:2023-07-02 20:51:22
用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));
来源:https://www.cnblogs.com/KillBugMe/p/12407939.html
标签:php,json,encode,中文,UNICODE,转码


猜你喜欢
详解Python中for循环是如何工作的
2021-07-04 17:41:40

用js更好地截取定长字符串
2008-01-16 12:48:00
JS CSS制作饱含热情的镶边文字闪烁特效
2024-04-16 09:04:51
详解Python传入参数的几种方法
2023-02-05 15:37:28

js生成随机数(指定范围)的实例代码
2024-04-17 10:29:42
Python中的线程操作模块(oncurrent)
2021-08-15 14:08:15
Python线程之定位与销毁的实现
2023-09-25 11:47:19

asp如何实现页面执行时间及搜索时间
2007-11-12 22:48:00
如何将Python编译成C语言
2022-01-02 10:49:31

如何用Python进行时间序列分解和预测
2022-06-20 14:39:42

Python NumPy实现数组排序与过滤示例分析讲解
2021-07-20 08:33:20

Python for循环搭配else常见问题解决
2021-04-23 06:08:56
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2022-04-22 22:35:17
在Oracle PL/SQL中游标声明中表名动态变化的方法
2009-02-28 10:39:00
Oracle捕获问题SQL解决CPU过渡消耗
2010-07-21 13:14:00
如何利用python给图片添加半透明水印
2022-08-16 09:34:28

Mysql InnoDB引擎的索引与存储结构详解
2024-01-12 15:22:52

微信小程序wx.request拦截 器使用详解
2023-07-22 09:11:55
MySQL数据库表空间回收的解决
2024-01-26 00:00:41

对django 2.x版本中models.ForeignKey()外键说明介绍
2022-10-07 18:18:24