json_last_error返回5
浏览量:213
JSON_ERROR_UTF8 异常的 UTF-8 字符,也许是因为不正确的编码。
大概明白要处理的数组里含有非UTF-8 字符导致的。这样处理起来就简单了。
写个递归处理函数,将数组中的项进行转码即可。
/**
*函数:m_mb_convert_encoding($string) $string要转码的字符串或数组
*功能:对字符串或数组进行mb_convert_encoding转码
*/
function m_mb_convert_encoding($string) {
if(!is_array($string) && !is_int($string)) {
return mb_convert_encoding($string, 'UTF-8', 'GBK');
}
foreach($string as $key => $value) {
$string[$key] = m_mb_convert_encoding($value);
}
return $string;
}
echo json_encode(m_mb_convert_encoding($_arr));
json_encode()时,用该函数先对要json的数组进行处理即可。


感谢支持与鼓励~