解决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 相关文章推荐
中国地区三级联动下拉菜单效果分析
Nov 15 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
JavaScript实现星级评分
Jan 12 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
Jan 19 Javascript
JavaScript和jQuery制作光棒效果
Feb 24 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
JS Input里添加小图标的两种方法
Nov 11 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
Jan 31 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
Jan 16 Javascript
JS寄快递地址智能解析的实现代码
Jul 16 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程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python交易记录整合交易类详解
2019/07/03 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
国培教师自我鉴定
2014/02/12 职场文书
抽样调查项目计划书
2014/04/24 职场文书
春季防火方案
2014/05/10 职场文书
信息工作经验交流材料
2014/05/28 职场文书
服务标语大全
2014/06/18 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
Python3 类型标注支持操作
2021/06/02 Python
mysql脏页是什么
2021/07/26 MySQL