今天在编码过程中 post返回的json数据,json_decode的时候为null,json_last_error()返回为4.
根据排查(字符串长度)发现返回的字符串的长度比自己看到的字符串长度长3.基本上确定是BOM的问题
找到问题解决方案就是对post或者get返回的数据进行去除BOM.
下面是去除函数
function removeBom($contents){
$charset[1]=substr($contents,0,1);
$charset[2]=substr($contents,1,1);
$charset[3]=substr($contents,2,1);
if(ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191){
return substr($contents,3);
}
return $contents;
}
可以完美解决BOM问题