解决JS请求服务器gbk文件乱码的问题


Posted in Javascript onOctober 16, 2015

JS获取服务器编码格式为gb2312的文件时内容为乱码,ajax网络请求内部使用的是XMLHttpRequest,所以在请求之前需要设置一下编码格式,但是设置xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");没有效果,只有设置xhr.overrideMimeType("text/csv;charset=gb2312");才正确,代码如下:

<span style="font-size:18px;">$.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); 
      } 
    } 
  } 
  );</span>

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)保持一致。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“GBK”></script>

建议:

(1)在用Eclipse或者Myeclipse新建XX.js,进行编辑时,建议先将Text file encoding改为UTF-8,然后进行编辑保存。
(2)用文本文档或者其他编辑器编辑保存XX.js, 建议以UTF-8的编码方式保存。
(3) 在引用XX.js的页面上“显示”加上XX.js文件的编码方式UTF-8。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>
Javascript 相关文章推荐
javascript控制在光标位置插入文字适合表情的插入
Jun 09 Javascript
JS简单计算器实例
Jan 20 Javascript
JS鼠标拖拽实例分析
Nov 23 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
bootstrap模态框远程示例代码分享
May 22 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
微信小程序登录态和检验注册过没的app.js写法
May 22 Javascript
JS异步处理的进化史深入讲解
Aug 25 Javascript
JavaScript中变量提升机制示例详解
Dec 27 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 Javascript
一篇文章看懂JavaScript中的回调
Jan 05 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 #Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
Oct 16 #Javascript
纯JavaScript代码实现移动设备绘图解锁
Oct 16 #Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
Oct 16 #Javascript
javascript实现3D切换焦点图
Oct 16 #Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
Oct 16 #Javascript
jQuery实现带渐显效果的人物多级关系图代码
Oct 16 #Javascript
You might like
给php新手谈谈我的学习心得
2007/02/25 PHP
PHP伪造referer实例代码
2008/09/20 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
如何让CI框架支持service层
2014/10/29 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
Document 对象的常用方法
2009/07/31 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
python进阶教程之词典、字典、dict
2014/08/29 Python
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python列表切片用法示例
2017/04/19 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
给儿子的表扬信
2014/01/15 职场文书
毕业生自荐书
2014/02/02 职场文书
大学军训感言800字
2014/02/27 职场文书
工商管理专业自荐信
2014/06/03 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
裁员通知
2015/04/25 职场文书
礼仪培训心得体会
2016/01/22 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS