下载鸥 > 网站下载 > 开发教程 > PHP

PHP中json_encode中文UNICODE转码问题

304 2021-04-30 19:31:08

收藏
json_encode是网站开发中的常用元素,通过json_encode,我们可以方便快捷地和前端实现数据交互。但,如果所使用的的php版本太低,中文都会被编码, 变成不可读的”u***”的格式。

PHP中json_encode中文UNICODE转码问题
如果想要让汉字不进行转码,要先升级PHP,在PHP版本>=5.4可使用Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
 

JSON_UNESCAPED_UNICODE函数调用方式参考

echo json_encode("中文", JSON_UNESCAPED_UNICODE);

如果发现中文被编码,可以先检查一下php版本,也可以直接使用函数避免被编码。
 

检查php版本

echo PHP_VERSION;

如果发现php版本低于5.4,则可以考虑升级以使用新函数。但除了升级之外,我们还可以有更简单的方案。
 

更简单的被编码解决方案

如果要更简单一点,也可以直接使用下面的兼容函数做处理即可
function sJson_encode($array)
{
    if(version_compare(PHP_VERSION,'5.4.0','<')){
        $str = json_encode($array);
        $str = preg_replace_callback("#u([0-9a-f]{4})#i",function($matchs){
             return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
        },$str);
        return $str;
    }else{
        return json_encode($array, JSON_UNESCAPED_UNICODE);
    }
}

上方函数调用方式
<?=sJson_encode('你的数组数据')?>
 

附注:关于json_encode

所谓json_encode,是一种编码方式,json_encode函数返回value值的JSON形式

本文地址:https://xzo.com.cn/develop/php/878.html

有帮助,很赞!

信息来源:下载鸥
信息标签
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 832
PHP正则提取字符串中的数字组成数组
PHP正则提取字符串中的数字组成数组

在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...

13 1263
PHP怎样用正则判断一个链接是内链还是外链?
PHP怎样用正则判断一个链接是内链还是外链?

在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...

26 1211
PHP怎样高效快速地生成一组10条随机数?
PHP怎样高效快速地生成一组10条随机数?

猜你喜欢如果用rand()来获取随机ID是非常消耗性能的。小网站几百几千条数据...

1 335
str_replace怎样一次性替换多个值(数组)?
str_replace怎样一次性替换多个值(数组)?

我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...

1 326
一句话防御首页带问号?的垃圾链接分权重
一句话防御首页带问号?的垃圾链接分权重

任何站点但凡有点流量就会遇到这种情况:首页被人用问号传了参数,恰恰还被收录...

1 366
php怎样开启debug调试模式?
php怎样开启debug调试模式?

我们使用php开发网站的时候,经常会需要调试确保功能正常。而如果功能出现异...

0 509
简单的php高并发处理方案分享
简单的php高并发处理方案分享

很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...

0 291
随机PHP开发教程
$_request、$_post、$_get的区别和特点
$_request、$_post、$_get的区别和特点

php中有$_request与$_post、$_get三种主要形式用于接受表单数据,但他们又有...

0 280
宝塔面板一分钟将session转为redis
宝塔面板一分钟将session转为redis

session是一个相当好用的缓存函数,但session对服务器的性能消耗比较大,尤其是...

0 326
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 295
PHP怎样实现从数组随机取值的效果?
PHP怎样实现从数组随机取值的效果?

在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...

1 245
php多维数组foreach循环
php多维数组foreach循环

多维数组在实际开发中比较常见,要foreach循环也很简单。...

0 319
php函数介绍之危险的include() - 一句话代码威胁网站安全
php函数介绍之危险的include() - 一句话代码威胁网站安全

include是一个使用比较频繁的函数,通过使用include,我们可以实现快速获取模板...

1 257
php简单的数组介绍与应用
php简单的数组介绍与应用

数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...

1 261
php函数介绍之htmlspecialchars() 函数
php函数介绍之htmlspecialchars() 函数

htmlspecialchars()函数的作用在于将html标签转化为实体。释义很绕口,我们可...

1 278
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入