解决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 08 Javascript
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
JavaScript中的排序算法代码
Feb 22 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
Mar 10 Javascript
BootStrap中的表单大全
Sep 07 Javascript
js原生跨域_用script标签的简单实现
Sep 24 Javascript
AngularJS的Filter的示例详解
Mar 07 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
angularJS模态框$modal实例代码
May 27 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 jQuery
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数组是否为索引数组的实现方法
2013/06/13 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
php中smarty区域循环的方法
2015/06/11 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
PHP函数积累总结
2019/03/19 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python查询mysql中文乱码问题
2014/11/09 Python
详解python时间模块中的datetime模块
2016/01/13 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
python scatter函数用法实例详解
2020/02/11 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
Eclipse面试题
2014/03/22 面试题
国际商务专业求职信
2014/07/15 职场文书
2014年底个人工作总结
2015/03/10 职场文书
党支部半年考察意见
2015/06/01 职场文书
中秋节祝酒词
2015/08/12 职场文书
创业计划之特色精品店
2019/08/12 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android
python脚本框架webpy模板赋值实现
2021/11/20 Python
pycharm无法安装cv2模块问题
2022/05/20 Python