由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
$result = '';//json数据
$encode = mb_detect_encoding($result, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','LATIN1'));
if($encode != 'UTF-8'){
$result = mb_convert_encoding($result, 'UTF-8', $encode);
}
通过以上代码转码后,就不会返回null 了。