首页 > 上网技巧 > 电脑小技巧 > PHP取json有乱码锘縶 导致json无法解析

PHP取json有乱码锘縶 导致json无法解析

时间:2018-06-21 08:41 作者:QQ地带 我要评论

curl请求接口时,返回结果如下:
 
{"error_code":"2200","param":"mobilephone","msg":"\u8bf7\u586b\u5199\u624b\u673a\u53f7","statusCode":400}
 
想把json转换成数组或者对象,但是用json_decode返回是空的,然后用var_dump打印了一下返回结果,发现结果如下:
string ‘锘縶{"error_code":"2200","param":"mobilephone","msg":"\u8bf7\u586b\u5199\u624b\u673a\u53f7"}‘ (length=91)
发现前面多了两个字符,因为有这个导致不能转换,查了一下发现这个为BOM,找到原因,解决问题,代码如下:
 
 
  1. function removeBOM($str = ‘‘) 
  2.    if (substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) { 
  3.        $str = substr($str, 3); 
  4.    } 
  5.    return $str
 
当然,如果是文件,可以直接修改为utf-8 无bom格式即可。
 
 

标签: php
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告