PHP JSON_ENCODE 不转义中文汉字的方法

2018-09-26 15:14:23

php从数据库查询出来的数据,json_encode以后,保存到本地.json文件


可气的是文件内的编码,基本都是以\u开头的汉子。

这就完蛋了,虽然不影响使用,但是强迫症的我肯定是不满意的。

  1. 是也不一定100%不影响直接使用

  2. 关键是占内存啊。



尝试了php的 吧 \u 等字符串,转换成中文的。试了很多不管用啊。

表示绝望,因为大家都管用。



后来发现不是查询数据库编码的问题。是json_encode的问题。


PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据。

网上很多,但是其实都是错误的,正确的方法是在json_encode 中加入一个参数 JSON_UNESCAPED_UNICODE 

 json_encode($data, JSON_UNESCAPED_UNICODE); //必须PHP5.4+


  • 2020-01-30 11:19:58

    Android中添加两个(多个)FileProvider节点问题

    我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点。

  • 2020-02-02 15:40:36

    Apache Commons IO之IOUtils优雅操作流

    在开发过程中,你肯定遇到过从流中解析数据,或者把数据写入流中,或者输入流转换为输出流,而且最后还要进行流的关闭,原始jdk自带的方法写起来太复杂,还要注意各种异常,如果你为此感到烦恼,那IOUtils可以让我们优雅的操作流。

  • 2020-02-02 19:24:38

    百度视频SDK,突然不能播放

    开发过程中,不知道什么时候开始视频不能播发了,怎么办都不行,其他项目没问题,线上都也没有问题,这可急躁完蛋我了,整了仨小时,还是那熊样。 哎。

  • 2020-02-04 18:43:10

    AssetManager.finalize() Timed Out 解决办法以及分析

    在我们的项目崩溃中,有一个比较常见的bug,就是 java.util.concurrent.TimeoutException android.content.res.AssetManager.finalize() timed out after 10 seconds 意思简单明了,就是说在AssetManager析构的时候发生了超时异常。