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_STRING
, JSON_PRETTY_PRINT
, JSON_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"}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章