数据库和网页都是使用的 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编码吗? 求指教
$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是用来设置发送给服务器的数据的格式的,而不是指示从服务器返回的数据的编码格式。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。