在本地localhost不乱码,到线上就json_last_error返回的错误是5,var_dump(json_encode($xxx))返回false。
用mb_convert_encoding和iconv("gb2312","utf-8//IGNORE",$res['title'])都不行。
从另外一张表读出的数据就不返回错误。只有这张表返回错误。
表是gbk的。
//格式化新闻内容 去掉html标签 转义utf8
foreach ($news_list as $key => $res) {
$news_list[$key]['title'] = iconv("gb2312","utf-8//IGNORE",$res['title']);
$news_list[$key]['content'] = iconv("gb2312","utf-8//IGNORE",strip_tags($res['content']));
}
字符编码是cp936
根据对照,5 对应的是

JSON_ERROR_UTF8
。JSON 仅支持 utf-8 。你得先确认是否转换成功,其次,应当使用 PHP: mb_convert_encoding - Manual 来做处理。