其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

php json_encode使用中文不转码

GG网络技术分享 2025-03-18 16:17 0


PHP转JSON,中文会被转码成unicode,使用常量JSON_UNESCAPED_UNICODE可以使中文原样输入。

不使用JSON_UNESCAPED_UNICODE

echo json_encode(\"中文\"); //Output: \"\\u4e2d\\u6587\"

使用JSON_UNESCAPED_UNICODE

echo json_encode(\"中文\", JSON_UNESCAPED_UNICODE); //Output: \"中文\"

Json在5.4还加入了: JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES等选项, 如果有兴趣, 大家可以参看: json_encode

其中有2个比较常用到的参数
JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)
JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)

通常json_encode只能传入一个常量,如果同时使用2个常量怎么办?

JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320

使用方法:json_encode($arr,320);即可完成同时使用2个常量。

PHP5.4才支持JSON_UNESCAPED_UNICODE这个参数,此参数是让中文字符在json_encode的时候不用转义,减少数据传输量。

标签: 中文 常量

提交需求或反馈

Demand feedback