解决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 相关文章推荐
求得div 下 img的src地址的js代码
Feb 28 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
理解Javascript闭包
Nov 01 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
基于javascript实现句子翻牌网页版小游戏
Mar 23 Javascript
详解webpack es6 to es5支持配置
May 04 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
Django使用多数据库的方法
Sep 06 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
vuex + keep-alive实现tab标签页面缓存功能
Oct 17 Javascript
vue实现匀速轮播效果
Jun 29 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
jquery 手势密码插件
2017/03/17 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
vue各种事件监听实例(小结)
2020/06/24 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python 字符串定义
2009/09/25 Python
python的id()函数解密过程
2012/12/25 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
师范生自荐信范文
2013/10/06 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
出国签证在职证明
2014/09/20 职场文书
化工厂员工工作总结
2015/10/15 职场文书