首页 > 编程语言 >php json_encode使用中文不转码

php json_encode使用中文不转码

时间:2023-03-02 09:46:28浏览次数:36  
标签:中文 arr 转码 UNESCAPED JSON json encode

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

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

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

 

Json在5.4还加入了: JSON_BIGINT_AS_STRINGJSON_PRETTY_PRINTJSON_UNESCAPED_SLASHES等选项

其中有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个常量。

$arr=[
"a"=>"test",
"b"=>"测试",
];

echo json_encode($arr,320);
//{"a":"test","b":"测试"}
echo json_encode($arr);
//{"a":"test","b":"\u6d4b\u8bd5"}

  

标签:中文,arr,转码,UNESCAPED,JSON,json,encode
From: https://www.cnblogs.com/boye169/p/17170698.html

相关文章