解决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 ui(接口)介绍
Sep 17 Javascript
JS 创建对象(常见的几种方法)
Nov 03 Javascript
jQuery 获取对象 基本选择与层级
May 31 Javascript
工作中常用到的JS表单验证代码(包括例子)
Nov 11 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
Jul 04 Javascript
javascript loadScript异步加载脚本示例讲解
Nov 14 Javascript
js 获取时间间隔实现代码
May 12 Javascript
JavaScript插件化开发教程 (一)
Jan 27 Javascript
15款最好的Bootstrap在线编辑器
Aug 03 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
如何使用vuex实现兄弟组件通信
Nov 02 Javascript
Node.js 进程平滑离场剖析小结
Jan 24 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脚本的10个技巧(6)
2006/10/09 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
JavaScript常用工具函数大全
2020/05/06 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
python对字典进行排序实例
2014/09/25 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Django choices下拉列表绑定实例
2020/03/13 Python
python实现微信打飞机游戏
2020/03/24 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
django中ImageField的使用详解
2020/12/21 Python
python实现简单猜单词游戏
2020/12/24 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
物业管理求职自荐信
2013/09/25 职场文书
综合测评自我鉴定
2013/10/08 职场文书
大学生标准推荐信范文
2013/11/25 职场文书
项目投资意向书
2014/04/01 职场文书
会计电算化实训报告
2014/11/04 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python