ajax 一个 gbk 目标后内容乱码的解决方案

ajax 一个 gbk 目标后,如果内容出现乱码,说明服务器在送出内容时没有指定 charset,ajax 对于没有指定 charset 的 response 默认以 utf-8 来处理,所有出现乱码,本以为若目标不可控则此问题无解,无意中发现 xhr 对象的 overrideMimeType 方法居然可以强势修复这个问题,大大让我惊喜啊!

解决方法备注如下:

xhr.overrideMimeType( "text/html;charset=" + charset );

原文:http://ucren.com/blog/archives/316
时间: 2024-10-06 16:25:01

ajax 一个 gbk 目标后内容乱码的解决方案的相关文章

先定一个小目标,自己封装个ajax

你是否发现项目中有很多页面只用到了框架不到十分之一的内容,还引了压缩后还有70多kb的jquery库 你是否发现项目中就用了两三个underscore提供的方法,其他大部分的你方法你甚至从来没有看过 你是否发现fetch好像比ajax好用那么一点 你是否想过自己封装个ajax.... 纯前端写得久了,便想折腾点事情.比如先定一个小目标,年前自己写个类jquery轻量级库.... 那么就从自己封装一个ajax切入吧,首先我整理的一个思维导图,一目了然 解析参数数据 通常我们的请求后面会有一些参数,

jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)(转)

版权声明]:版权归作者所有,转载时请以超链接形式标明文章原始出处和作者信息及本声明:http://www.open-lib.com/Forum/Read_69_1.action 前言: 当jquery ajax在utf-8编码下(页面utf-8,接收utf-8),无任何问题.可以正常post.get,处理页面直接获取正确的内容. 但在以下情况下: GBK -> AJAX POST ->GBK UTF-8 -> AJAX POST ->GBK 后台代码无法获取正确的内容,通常表现为获

jsp 输出内容乱码问题

解决的需要三个地方 1.jsp头有三处和编码合适有关 2.更改tomcat的server <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK" /> 增加红色部分 3.如果此时还是乱码 对于get请求 则添加request.setChar

利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码

利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码.做了很久终于知道了很好的解决方案. 1.加载辅助函数 $this->load->helper('download'); //下载辅助函数 $this->load->helper('string'); //字符编码转换辅助翻书 2.force_download($filename, $data)通过它的代码可以知道$data 必须是字符串,如果不是字符串

Spring下@ResponseBody响应中文内容乱码问题

引言: 在JQuery的Ajax请求中,收到的基于后台返回回来的结果出现乱码,在后台其内容正确,到了前台之后,确是乱码??????,该怎样解决呢? 1.  问题的提出 前端基于JQuery的Ajax进行页面请求,可是收到的响应信息中的中文确是乱码:后台使用了基于Spring的@ResponseBody来对响应结果进行了封装. 2. 分析问题 2.1  JQuery前端排除 基于查看,JQuery的前端Ajax请求默认的都是基于UTF-8的请求,指定与否不影响结果信息. 假设坚持要加,在前端jav

js实现动态给一个div添加文本内容与简单的日历

js实现动态给一个div添加文本内容(即在文本框中输入一段文字,点击设置文字按钮实现将文本框中的文字添加到div中) <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <style

在jQuery中Ajax的Post提交中文乱码的解决方案(转)

引言: 在jQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: var regid = $('#oregion').combobox('getValue'); //var sname = $('#sname').val(); var sname = encodeURI($('#sname').val(),"UTF-8"); if(regid!=""&&regid!='undefined'){ $

AJAX在Post中文的时候乱码的解决方法

加上设置字符编码的方法: response.setHeader("charset","gb2312"); ******************************************** 看到的说明原文如下: 用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候

python文件写入后读出空字符、读出乱码的解决方案

第一步 排除文件打开方式错误: r只读,r+读写不创建,w新建写,w+新建写创建,a附加,b二进制文件 以w,w+的方式打开文件,会将文件内容清零 (以w方式打开,不能读出.w+可读写) 以r,r+的方式打开文件,不会清零 (r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建) 以a,a+的方式打开文件,附加打开 (a:附加写方式打开:a+: 附加读写方式打开) 以 'U' 标志打开文件, 所有的行分割符通过 Python 的输入方法(例#如 read*() ),返回时都会