首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery忽略ISO-8859-1编码

Jquery忽略ISO-8859-1编码
EN

Stack Overflow用户
提问于 2012-01-24 22:32:39
回答 2查看 26.8K关注 0票数 11

我有一个网站,表面上删除正确的编码(ISO-8859-1)从字符串,并发送它错误。

我在我的HTML中指定了这个编码

代码语言:javascript
复制
<meta charset="ISO-8859-1">

我通过以下方式加载javascript

代码语言:javascript
复制
<script type="text/javascript" charset="ISO-8859-1" src="...

我通过JQuery Ajax请求获取信息,如下所示(使用德语特殊字符'ö‘和'ä'):

代码语言:javascript
复制
$.ajax({
    url: '..',
    type: 'POST',
    contentType: 'application/xml;charset=ISO-8859-1',
    data: xmlRequest.html(),...

这被翻译成一个请求,在chrome开发工具中,我在请求头中看到了以下内容:

代码语言:javascript
复制
..
Content-Type: application/xml;charset=UTF-8
..

那里发生了什么?

当然,特殊字符的编码是错误的(“?”而不是"ö"),服务器无法理解我,我得到了一个错误。

EN

回答 2

Stack Overflow用户

发布于 2013-01-18 19:20:20

因为我遇到了同样的问题,所以我将提供一个对我有效的解决方案。背景: Microsoft Excel太愚蠢了,不能以字符集UTF-8导出CSV文件:

代码语言:javascript
复制
$.ajax({
    url: '...',
    contentType: 'Content-type: text/plain; charset=iso-8859-1',
    // This is the imporant part!!!
    beforeSend: function(jqXHR) {
        jqXHR.overrideMimeType('text/html;charset=iso-8859-1');
    }
});
票数 32
EN

Stack Overflow用户

发布于 2012-01-24 22:39:01

根据jQuery.ajax() contentType documentation的说法

数据将始终使用UTF-8字符集传输到服务器;您必须在服务器端对其进行适当的解码。“

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8988573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档