當php中的數組通過json_encode把數組轉換為json時,發現轉化的值為null,通過php手冊上的解釋是該函數只能接受 UTF-8 編碼的數據(譯注:指字符/字符串類型的數據),如果當前頁面的編碼沒有指定utf8或者網頁編碼不是utf8,肯定是沒任何輸出的,返回null值的。
1.當在php自身頁面輸出數組時需要在輸出前加上一句header(Content-type:text/html;charset=utf8);
2.當通過獲取其他頁面數據返回成數組再轉換成json時,還要注意對獲取頁面的數據進行轉碼,避免你聲明的編碼和要輸出的數據的編碼類型不相同,所以,可以通過下面的函數進行字符串轉碼
function encodeConvert($str,$fromCode,$toCode){
if(strtoupper($toCode) == strtoupper($fromCode)) return $str;
if(is_string($str)){
if(function_exists('mb_convert_encoding')){
return mb_convert_encoding($str,$toCode,$fromCode);
}
else{
return iconv($fromCode,$toCode,$str);
}
}
elseif(is_array($str)){
foreach($str as $k=>$v){
$str[$k] = encodeConvert($v,$fromCode,$toCode);
}
return $str;
}



