解决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之文件操作
Mar 07 Javascript
javascript 在网页中的运用(asp.net)
Nov 23 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
Jun 11 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
js实现无缝滚动特效
Dec 20 Javascript
详解iframe与frame的区别
Jan 13 Javascript
jQuery 选择同时包含两个class的元素的实现方法
Jun 01 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 Javascript
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
vue-router 路由基础的详解
Oct 17 Javascript
通过JS判断网页是否为手机打开
Oct 28 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
eAccelerator的安装与使用详解
2013/06/13 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
python实现自动解数独小程序
2019/01/21 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
学python爬虫能做什么
2020/07/29 Python
面包店的创业计划书范文
2014/01/16 职场文书
工作室成员个人发展规划范文
2014/01/24 职场文书
会计专业求职信范文
2014/03/16 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
pandas数值排序的实现实例
2021/07/25 Python
MySQL数据库简介与基本操作
2022/05/30 MySQL