当前位置:首页 > 电脑知识 > 正文内容

干货分享(php输出json中文乱码)json数据中文乱码怎么办,解决 php json中文乱码的问题,解决 php json中文乱码的问题,

sauo3年前 (2022-09-17)电脑知识108

php输出使用json_encode函数生成的json数据的时候,发现数据中的中文被转义成了unicode编码,如果使用ajax请求的json数据还好一点,浏览器会自动将unicode编码转义回来,但如果直接输出到浏览器上,那就会直接输出 unicode 编码,影响阅读体验。

解决php json_encode函数中文被转义的方法

这篇博文不考虑页面编码的问题,只从 json_encode 函数上来解决中文被 unicode 编码的问题,大家可以做个参考。

方法1:

此方法适用于php版本大于5.4情况下,如果php版本低于5.4可参考方法2

设置 json_encode 第二个参数为 JSON_UNESCAPED_UNICODE,则 json_encode 输入带的中文的数据时,中文不会被编码

例:

PHP
//feiniaomy.com 飞鸟慕鱼博客 $arr = array(code => success,msg => 这里是一个提示的内容); echo json_encode($arr); //输出的JSON: {"code":"success","msg":"\u8fd9\u91cc\u662f\u4e00\u4e2a\u63d0\u793a\u7684\u5185\u5bb9"} echo json_encode($arr,JSON_UNESCAPED_UNICODE); // 将第二个参数设置为:JSON_UNESCAPED_UNICODE //输出的JSON:{"code":"success","msg":"这里是一个提示的内容"}复制

方法2:

低于 5.4 版本的php中,json_encode 函数的第二个参数不起作用,则需要自己定义函数来实现不转义汉字的方法。

例:

PHP
$arr = array(Name => 墨初,Host => http://feiniaomy.com); //需要判断一个php的版本 if(version_compare(PHP_VERSION,5.4.0,<)) { foreach($arr as $key => $value){ $jsonstr[$key] = urlencode($value); } echo urldecode(json_encode($jsonstr)); }else{ echo json_encode($arr); }复制

本文链接:http://blog.sauo.top/?id=279 感谢分享!

分享到:

扫描二维码推送至手机访问。

版权声明:本文由冬眠先生个人博客发布,如需转载请注明出处。

本文链接:http://blog.sauo.top/?id=279

分享给朋友:

“干货分享(php输出json中文乱码)json数据中文乱码怎么办,解决 php json中文乱码的问题,解决 php json中文乱码的问题,” 的相关文章

干货分享(php file_get_contents curl)php file_get_contents post,php file_get_contents(): SSL operation failed with code 1. OpenSSL Error message.....,php file_get_contents(): SSL operation failed with code 1. OpenSSL Error message.....,

免费领取腾讯云服务器! 在调试php脚本代码时,发现使用 file_get_contents() 函数请求HTTPS的网址链接时出现了报错,其报错代码如下面所示“file_get_contents(): SSL operation failed with...

这都可以?(常用正则表达式大全)常用正则表达式大全图片,常用正则表达式大全,常用正则表达式大全,

免费领取腾讯云服务器! 网上收集了一些常用的正则表达式,基本上都全,需要的可以拿去了。 关于号码的正则表达式 QQ号正则表达式 BASIC /^[1-9][0-9]{...

难以置信(php错误日志在哪里)PHP 日志,php设置错误日志的方法,php设置错误日志的方法,

难以置信(php错误日志在哪里)PHP 日志,php设置错误日志的方法,php设置错误日志的方法,

免费领取腾讯云服务器! php设置错误日志需要在php配置文件php.ini中设置,只需要简单的几步设置就可以实现,下面就来详细的说一下。 php设置错误日志的方法 1、打开php的配置文件,php.ini...

不要告诉别人(php求数组交集)php数组取差集,php计算两个数组的交集与差集,php计算两个数组的交集与差集,

免费领取腾讯云服务器! php中计算两个数组之间的交集与差集可以使用 array_intersect() 与 array_diff() 数组处理函数,这两个数组的具体使用方法如下。 php计算两个数组之间的交集 array_...

学会了吗(php保存文件到指定地点)php保存图片,php保存base64编码图片的方法,php保存base64编码图片的方法,

免费领取腾讯云服务器! 写一个图片上传的插件,因为特殊性就在前台将图片转为base64编码并上传到后台,下面说一说在后台怎么利用php代码将base64编码格式的图片转成正常的图片,并保存的。 PHP保存Base64图片 p...

这都可以?(jquery去掉前后空格)jquery去掉字符串前后空格,jQuery去掉 serialize() 方法中指定的name值,jQuery去掉 serialize() 方法中指定的name值,

免费领取腾讯云服务器! 在修改一个前台表单提交逻辑时,为了不动以前的代码(代码和屎一样),就想着在提交数据时过滤掉form表单中指定的name属性和值,由于表单直接使用jquery中的serialize()方法来获取的form表单的数据,所以就要对 ser...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。