如何更改ajax字符集?

如何更改ajax字符集?,ajax,jquery,character-encoding,special-characters,Ajax,Jquery,Character Encoding,Special Characters,如何更改$.post()使用的默认编码 参数用UTF-8编码。如何使用ISO 8859-1对其进行编码?您可以使用: contentType:"application/x-javascript; charset:ISO-8859-1" contentType:“应用程序/x-javascript;字符集:ISO-8859-1” 通过在ajax调用期间显式提供内容类型(如下所示),可以覆盖默认内容类型 $.ajax({ data: parameters, type:

如何更改
$.post()
使用的默认编码

参数用UTF-8编码。如何使用ISO 8859-1对其进行编码?

您可以使用:

contentType:"application/x-javascript; charset:ISO-8859-1" contentType:“应用程序/x-javascript;字符集:ISO-8859-1”
通过在ajax调用期间显式提供内容类型(如下所示),可以覆盖默认内容类型

$.ajax({
        data: parameters,
        type: "POST",
        url: ajax_url,
        timeout: 20000,
        contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
        dataType: 'json',
        success: callback
});
您还必须在服务器上指定字符集

例如:对于php

<?php header('Content-Type: text/html; charset=ISO-8859-15'); ?>


我希望这可能会对您有所帮助。

似乎无法再更改字符集了–文档声明:

W3CXMLHttpRequest规范规定字符集是 始终为UTF-8;指定另一个字符集不会强制浏览器 更改编码


参见XHR规范第4.5.6.4.4.3节:

如果contentTypeRecord未失败,则contentTypeRecord的 参数[“字符集”]存在,参数[“字符集”]不是 ASCII不区分大小写匹配“UTF-8”,然后:

将contentTypeRecord的参数[“charset”]设置为“UTF-8”

该规范强制浏览器始终以UTF-8的形式发送

但是,您可以使用
fetch
API。因为它不是XHR,所以使用fetch发布将尊重您的编码

fetch(url{
方法:“POST”,
标题:{
'Content Type':`text/plain;charset=${yourCustomEncoding}`
},
身体
}).然后(。。。

您可能还需要在发送之前添加一个