解决JS请求服务器gbk文件乱码的问题_javascript技巧
程序员文章站
2022-04-14 13:53:37
...
JS获取服务器编码格式为gb2312的文件时内容为乱码,ajax网络请求内部使用的是XMLHttpRequest,所以在请求之前需要设置一下编码格式,但是设置xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");没有效果,只有设置xhr.overrideMimeType("text/csv;charset=gb2312");才正确,代码如下:
$.ajax({
type: "get",
url:"http://7xnhdv.com1.z0.glb.clouddn.com/test1.csv",
beforeSend: function(xhr) { //beforeSend定义全局变量
// xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");
xhr.overrideMimeType("text/csv;charset=gb2312");
},
success: function(xmlDoc, textStatus, xhr)
{
if(xhr.status == 200)
{
$('#view0').text(xmlDoc);
}
}
}
);
overrideMimeType作用将覆盖发送给服务器的头部,强制text/csv;charset=gb2312作为 mime-type。
ps:js中文显示乱码或在页面显示乱码解决方法
①.js 文件中文显示乱码
Javascript文件XX.js编辑保存时有一种编码方案(如GBK),当打开文件的时候所用的编码(如UTF-8)和保存时的编码方案不一致时,则会出现中文显示乱码。
解决方案:
(1) 用编辑器打开浏览的时候,选择和原文件编码(如GBK)一致的编码方式查看,则不会出现乱码;
(2)在eclipse中的package explorer中选中乱码的XX.js,右键菜单中选择properties,在Text file encoding中选择与XX.js编辑保存时的编码(如GBK),则可以正常显示;
②网站页面中JavaScript中中文字段乱码
在eclipse或者编辑器中XX.js中中文显示正常,在页面调用XX.js,执行后页面结果中中文字段显示乱码。
解决方案:
在引用XX.js的页面上“显示”加上XX.js文件的编码方式,使之与XX.js文件的本身的编码方式(如GBK)保持一致。
建议:
(1)在用Eclipse或者Myeclipse新建XX.js,进行编辑时,建议先将Text file encoding改为UTF-8,然后进行编辑保存。
(2)用文本文档或者其他编辑器编辑保存XX.js, 建议以UTF-8的编码方式保存。
(3) 在引用XX.js的页面上“显示”加上XX.js文件的编码方式UTF-8。
上一篇: 正则的使用案例及基本语法
推荐阅读
-
从js向Action传中文参数出现乱码问题的解决方法_javascript技巧
-
解决JS请求服务器gbk文件乱码的问题_javascript技巧
-
页面js遇到乱码问题的解决方法是和无法转码的情况_javascript技巧
-
页面js遇到乱码问题的解决方法是和无法转码的情况_javascript技巧
-
js escape,unescape解决中文乱码问题的方法_javascript技巧
-
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法_javascript技巧
-
解决JS请求服务器gbk文件乱码的问题_javascript技巧
-
引入JS文件IE6报语法错误或缺少对象问题的解决方法_javascript技巧
-
从js向Action传中文参数出现乱码问题的解决方法_javascript技巧
-
js escape,unescape解决中文乱码问题的方法_javascript技巧