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

标签 javascript ajax

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

我的问题是,当使用 encodeURIComponent() 编码 POST 参数(稍后通过 xhr.setRequestHeader 发送)时,字符以 utf-8 编码,但服务器需要接收 iso-8859-1 数据。是否有 encodeURIComponent() 的替代方法可以在 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

丑陋的代码、留下的法语注释和不雅的解决方案,但当我实际上找到了一个可行的解决方案时,看到这个问题没有得到答复,我感到很遗憾。

关于javascript - 通过 AJAX POST 请求发送 iso-8859-1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545440/

相关文章:

javascript - 使用 javascript(也许是正则表达式)格式化 DATE

javascript - 如何让文本在输入时到达拖动位置

javascript - 将tinyMCE加载到colorbox中

java - struts2 Ajax错误?

javascript - 触发事件和ajax

javascript - 在固定高度的滚动条上滑动 div

javascript - PHP 作为 Javascript,获取参数

javascript - Rails 操作仅调用一次,但我在 ajax 中每秒调用一次

php - jQuery(或任何网络工具)嵌套表达式生成器

javascript - 显示多个文件上传的进度 Jquery/Ajax