PHP输出json数据时,中文不进行unicode编码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP输出json数据时,中文不进行unicode编码相关的知识,希望对你有一定的参考价值。
今天在写和API接口时,将php数组转成json,但是有个规则是不能用unicode编码
试了几种方法:
若PHP是5.4以上的 可以直接使用JSON_UNESCAPED_UNICODE参数
json_encode(‘中文测试‘,JSON_UNESCAPED_UNICODE);
这种方法字符串可行,但是数组不可行(有待验证)
2.将数组中的字符串urlencode,然后将数组json_encode转成json,最后进行urldecode
注:urlencode()和urldecode()将中文字符转换为十六进制并按某种规则进行字符串组合,实现字符的编码与解编码,保证URL数据传递过程中字符的完整性和兼容性
以上方法确实对中文避免了unicode编码,但是我最后在接口测试时,依旧没通过,反而是正常的json_encode后就可以,避免误人子弟,后续我会继续考证·····
本文出自 “程序媛的必经之路” 博客,请务必保留此出处http://linlin2017.blog.51cto.com/8346821/1909343
以上是关于PHP输出json数据时,中文不进行unicode编码的主要内容,如果未能解决你的问题,请参考以下文章
PHP的json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
php 解决json_encode中文UNICODE转码问题