解决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 相关文章推荐
几种延迟加载JS代码的方法加快网页的访问速度
Oct 12 Javascript
简单的两种Extjs formpanel加载数据的方式
Nov 09 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
jquery图形密码实现方法
Mar 11 Javascript
跟我学习JScript的Bug与内存管理
Nov 18 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
Jan 31 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
Mar 06 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
May 22 Javascript
微信小程序云函数使用mysql数据库过程详解
Aug 07 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
js实现文字头像的生成代码
Mar 07 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批量检测并去除文件BOM头代码实例
2014/05/08 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
JavaScript延迟加载
2021/03/09 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
Python 下载及安装详细步骤
2019/11/04 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
浅谈Python __init__.py的作用
2020/10/28 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
公积金单位接收函
2014/01/11 职场文书
治庸问责心得体会
2014/09/12 职场文书
2015国庆节宣传语
2015/07/14 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
pandas求平均数和中位数的方法实例
2021/08/04 Python
MySQL连接控制插件介绍
2021/09/25 MySQL