通过 AJAX POST 请求发送 iso-8859-1

Sending iso-8859-1 via AJAX POST request?

本文关键字:iso-8859-1 请求 AJAX POST 通过      更新时间:2023-09-26

首先它是一个用户脚本,我无法更改服务器端编码。

我的问题是,当使用encodeURIComponent((对POST参数进行编码(后来通过xhr.setRequestHeader发送(时,字符以utf-8编码,但服务器需要接收iso-8859-1数据。有没有替代编码的编码URIComponent((可以在iso-8859-1中编码?

.

为了确保您理解,这里有一个示例:

网站上的经典表格发送é如下:yournewmessage:%E9

Ajax通过xhr.send('yournewmessage='+encodeURIComponent('é'))发送:yournewmessage:%E9%80%80

服务器需要前者。感谢任何可以帮助我的人。

所以,我已经解决了这个问题。我所做的是寻找utf-8和iso-8859-1之间的等价物,我发现在utf-8和cp1252(Windows-1252(之间,所以有两个转换,utf-8到cp1252和cp1252到iso-8859-1(这两者有很多相似之处(

http://pastebin.com/jTDqR2PQ

丑陋的代码,用法语留下的评论和不优雅的解决方案,但是当我实际上找到一个有效的解决方案时,看到这个问题毫无意义,我感觉很糟糕。