解决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 遍历对象中的子对象
Jul 03 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
Apr 24 Javascript
jQuery 关于伪类选择符的使用说明
Apr 24 Javascript
Knockout visible绑定使用方法
Nov 15 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
Jun 30 Javascript
javascript常用的方法分享
Jul 01 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
Javascript中的对象和原型(二)
Aug 12 Javascript
AngularJS监听路由的变化示例代码
Sep 23 Javascript
详解基于angular路由的requireJs按需加载js
Jan 20 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
python共享引用(多个变量引用)示例代码
2013/12/04 Python
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python脚本实现查找webshell的方法
2014/07/31 Python
Unicode和Python的中文处理
2017/03/19 Python
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
医院办公室主任职责
2013/12/29 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
雷人标语集锦
2014/06/19 职场文书
redis中lua脚本使用教程
2021/11/01 Redis
在js中修改html body的样式
2021/11/11 Javascript
HttpClient实现表单提交上传文件
2022/08/14 Java/Android
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android