设置PHP的json_encode方法不对中文进行Unicode转码


关键词

PHP json encode 中文 Unicode

摘要

本文介绍如何设置PHP的json_encode方法不对中文进行Unicode转码,默认情况下是会进行转码的。

我们知道,默认情况下,json_encode()会把中文转码成“\u6709\u975e\u6cd5\u5173”这样的格式,这个其实是Unicode编码。

在一些特定的情况下,我们希望使用json_encode()转码时,不对中文进行转码,那有没有什么办法可以实现呢?

我们来试想一下,json_encode()默认会对中文转码,我们能不能在参数传入之前先变成别的样子,等json_encode之后再变回来呢?是不是一下子就想到了urlencode?对,就用它。代码如下:

$str = urlencode($str);
$arr = new array('str'=>$str);
$json = json_encode($arr);
$json = urldecode($json);

这样写都看明白了吧,但有点麻烦了,对吧。其实在PHP5.4版本后,可以使用JSON_UNESCAPED_UNICODE参数来控制json_encode函数,让其不对中文文字进行转码。代码如下:

$data = json_encode($data, JSON_UNESCAPED_UNICODE);

一步搞定!

好了,设置PHP的json_encode方法不对中文进行Unicode转码,本文就介绍这么多,希望对大家有所帮助!

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权


如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« 使用base64编码来保存微信昵称中的表情符号