json字符串在phpstudy里中文不乱码,线上服务器乱码怎么办

在本地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

阅读 3.2k
3 个回答

根据对照,5 对应的是 JSON_ERROR_UTF8
clipboard.png

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

凡是遇到编码的地方统一选UTF8

本地/线上PHP文件代码、前端页面代码、数据库编码都统一使用UTF-8编码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题