一个在奔跑线上
不断努力奋斗的PHP开发程序猿

PHP使中文不被 json_encode 不编码成 unicode

使用 php 自带的 json_encode 函数对数据进行编码时,中文都会变成 unicode,导致不可读,并且增加传输数据的大小,比如,对字符串“只缘余生”进行 json_encode 后,输出的是"\u53ea\u7f18\u4f59\u751f",那么如何使得中文不被 json_encode 不编码成 unicode 呢,有两种方法:

1. 先将中文字段 urlencodejson_encode 后,再用 urldecode,也可以显示中文。

echo urldecode(json_encode(urlencode("只缘余生")));

2. 如果使用的 PHP 版本是 5.4 以上的版本,json_encode 函数已经新增了一个选项: JSON_UNESCAPED_UNICODE。加上这个选项后,就不会自动把中文编码了。

echo json_encode("只缘余生", JSON_UNESCAPED_UNICODE);
赞(20) 打赏
未经允许不得转载:只缘余生 » PHP使中文不被 json_encode 不编码成 unicode

评论 抢沙发

3 + 3 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏