PHP输出json数据时,中文不进行unicode编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP输出json数据时,中文不进行unicode编码相关的知识,希望对你有一定的参考价值。

今天在写和API接口时,将php数组转成json,但是有个规则是不能用unicode编码

试了几种方法:

  1. 若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转码问题

php json_encode中文unicode转码问题

php 解决json_encode中文UNICODE转码问题

PHP - json_encode中文乱码

php 解决json_encode中文UNICODE转码问题