Jquery忽略编码ISO-8859-1

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

我在我的HTML中指定了此编码

 

我通过加载我的JavaScript

 <script type="text/javascript" charset="ISO-8859-1" src="... 

我通过JQuery Ajax Request发送信息(带有德语特殊字符’ö’和’ä’):

 $.ajax({ url: '..', type: 'POST', contentType: 'application/xml;charset=ISO-8859-1', data: xmlRequest.html(),... 

这被转换为请求,在Chrome开发人员工具中,我在Request Header中看到了这一点:

 .. Content-Type: application/xml;charset=UTF-8 .. 

那里发生了什么?

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

因为我有同样的问题,我会提供一个适合我的解决方案。 背景:Microsoft Excel太愚蠢了,无法在字符集UTF-8中导出CSV文件:

 $.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'); } }); 

根据jQuery.ajax() contentType文档 :

数据将始终使用UTF-8字符集传输到服务器; 你必须在服务器端适当地解码它。“