开发者社区> 问答> 正文

JQuery Ajax + PHP 出现乱码,求解决方法

数据库和网页都是使用的 GBK 编码(无法更改),
现在有页面 /article/reply/get/555 用来查询文章的回复,

$.ajax({
        url: "/article/reply/get/555",
        cache: false,
        success: function (data) {
            $('#replyList').html(data);
        }
         
    })
出现乱码,目前我使用 PHP 的 ICONV 函数进行编码转换

$msg = iconv('GBK', 'UTF-8', $msg);

大家有没有更好的方法,JQuery 可以直接 ajax 出 gbk编码吗? 求指教

展开
收起
a123456678 2016-07-07 14:30:30 2646 0
1 条回答
写回答
取消 提交回答
  • $msg = iconv('GBK', 'UTF-8', $msg);

    你说这样可以解决乱码,大概可以确定被请求的Ajax页面是UTF-8编码的,而当前页面的编码格式是GBK,所以通过Ajax请求 /article/reply/get/555 页面得到的内容data是被GBK解码,自然会出现乱码。大概像这样:

    data = decode(encode("<div>test</div>", "UTF-8"), "GBK")
    

    我前面搞错了,contentType是用来设置发送给服务器的数据的格式的,而不是指示从服务器返回的数据的编码格式。

    2019-07-17 19:52:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载