php中json_encode乱码的解决方法

发布时间:2020-08-21 14:19:32 作者:小新
来源:亿速云 阅读:629

这篇文章主要介绍php中json_encode乱码的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

解决方法:1、设置json_encode()第二个参数的值为“JSON_UNESCAPED_UNICODE”即可;2、先把文本进行urlencode转码,再使用json_encode()编码,接着进行urldecode解码即可。

php中json_encode乱码的解决方法

json_encode()用于对变量进行JSON编码;成功则返回 JSON 编码的字符串 ,在失败时返回 FALSE 。

在编码过程中、经常会用到json_encode来处理中文、但是、出现一个问题、中文都会被转码、变为” \u**** ”的格式、如何避免被转码、乱码呢?

方法1:PHP的版本为5.4以上;

echo json_encode( '中文' );     // "\u4e2d\u6587"
echo json_encode( '中文', JSON_UNESCAPED_UNICODE ); // "中文"

说明:

语法: json_encode ( $value [, $options = 0 ] )

1、$value为要编码的值,且该函数只对UTF8编码的数据有效;

2、options:由以下常量组成的二进制掩码:

JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。

3、第二个参数一般不需要;

4、json数据其实就是一个string,可以用var_dump()打印出来看数据类型;

5、执行成功返回JSON数据,否则返回FALSE。

方法2:先把汉字urlencode转码、在json_encode; 然后urldecode解码;

echo $con = '中文'; // 中文
echo $con = urlencode( $con ); // %E4%B8%AD%E6%96%87"
echo $con = json_encode( $con ); // %E4%B8%AD%E6%96%87"
echo $con = urldecode( $con ); // "中文"

以上是php中json_encode乱码的解决方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. PHP - json_encode中文乱码
  2. php中水印乱码的解决方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php json_encode

上一篇:linux下查看端口是否被占用以及查看所有端口【推荐】

下一篇:Chrome+Puppeteer+Node.js爬取网站的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》