php怎么解析utf-8带BOM编码的json数据,php解析json数据返回NULL

如题所述

方法一:在你输出的时候就进行处理,在转为json之前对中文进行转码;

方法二:

$json = json_decode(trim($json,chr(239).chr(187).chr(191)),true);


方法三:

function prepareJSON($input){
    if(substr($input,0,3) == pack("CCC",0xEF,0xBB,0xBF)) $input = substr($input,3);
    return $input;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-31

如果你需要在客户端去除BOM,解析之前调用以下函数:

function prepareJSON($input)
{    
     if(substr($input,0,3) == pack("CCC",0xEF,0xBB,0xBF)) 
        $input = substr($input,3);    
        return $input;
}

如果是在服务端去除BOM,只需要把服务端的PHP文件以及该文件内嵌入的(require、include)的文件都以utf-8无BOM格式保存即可,推荐使用notepad++或editplus。

相似回答