daijinming
V2EX  ›  程序员

为什么 PHP 接口返回的汉字是 unicode 格式

By daijinming at 2018 年 9 月 25 日 · 4826 次点击
     'status'=>2,
           'msg'=>'该 IP 无权限访问',
           'data'=>$ip
           );
        echo json_encode($return);

上面的代码返回的结果是这个样子的

{"status":2,"msg":"\u8be5IP\u65e0\u6743\u9650\u8bbf\u95ee","data":"111.164.51.239, 111.164.51.239"}

这是什么原因造成的,大侠请指教

7 条回复  •  2018-09-26 08:49:41 +08:00
wjfz
   1
wjfz  
   2018 年 9 月 25 日
json_encode($json, JSON_UNESCAPED_UNICODE);
qiyon
   2
qiyon  
   2018 年 9 月 25 日
重点在 json,不在 PHP
http://www.json.org/ string 那里
chinvo
   3
chinvo  
   2018 年 9 月 25 日 via iPhone
这是 JSON 规范,非 ASCII 字符需要 UTF-8 编码
imn1
   4
imn1  
   2018 年 9 月 25 日
其他语言不是么?
codespots
   5
codespots  
   2018 年 9 月 25 日
和 PHP 无关,这是 JSON 的规范,只支持 UTF-8 编码
zsdroid
   6
zsdroid  
   2018 年 9 月 25 日
[让 Json 更懂中文(JSON_UNESCAPED_UNICODE)]( http://www.laruence.com/2011/10/10/2239.html)
linpf
   7
linpf  
   2018 年 9 月 26 日
json_encode($json, 256); 我都是这样,更好记,不用背常量
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 57ms · 3.9.8.5