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

PHP中json_encode中文UNICODE转码问题

300 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 827
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?

页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...

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

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

0 501
PHP函数switch()介绍
PHP函数switch()介绍

通俗的说,现在有结果A B C D E,每个结果代表不同的意义,此时我们可以用if else...

0 303
php分割中文字符源码分享与可行性分析
php分割中文字符源码分享与可行性分析

php分割中文字符,之前计划的是可用于搜索结果、tag结果关键词标红。但在实际...

0 297
PHP的for循环为什么只执行了一次就停止了?
PHP的for循环为什么只执行了一次就停止了?

今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...

1 297
简单的php高并发处理方案分享
简单的php高并发处理方案分享

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

0 289
怎样用php批量删除文件或者文件夹?
怎样用php批量删除文件或者文件夹?

在网站建成后的维护与优化阶段,我们会面临无用栏目/数据处理的问题。量小的...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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