解决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 相关文章推荐
用JQUERY增删元素的代码
Feb 14 Javascript
Js实现动态添加删除Table行示例
Apr 14 Javascript
JavaScript获取某年某月的最后一天附截图
Jun 23 Javascript
JS小游戏之极速快跑源码详解
Sep 25 Javascript
jquery对复选框(checkbox)的操作汇总
Jan 13 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 Javascript
javascript简单实现等比例缩小图片的方法
Jul 27 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
Mar 29 Javascript
基于JavaScript实现类名的添加与移除
Apr 23 Javascript
基于Vue2.X的路由和钩子函数详解
Feb 09 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
vue 自动化路由实现代码
Sep 03 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中static关键字原理的学习研究分析
2011/07/18 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP链表操作简单示例
2016/10/15 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
详细介绍Python函数中的默认参数
2015/03/30 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python skimage 连通性区域检测方法
2018/06/21 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
本科生求职信
2014/06/17 职场文书
工作收入住址证明
2014/10/28 职场文书
西双版纳导游词
2015/02/03 职场文书
求职信格式范文
2015/03/19 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
肖申克救赎观后感
2015/06/02 职场文书
光荣之路观后感
2015/06/12 职场文书
初中英语教学随笔
2015/08/15 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
对Keras自带Loss Function的深入研究
2021/05/25 Python
Pygame如何使用精灵和碰撞检测
2021/11/17 Python