Javascript encodeURIComponent如何使用ISO-8859-1字符集而不是utf-8对请求变量进行编码?

Javascript encodeURIComponent如何使用ISO-8859-1字符集而不是utf-8对请求变量进行编码?,javascript,Javascript,我在使用ISO-8859-1字符集的网站上工作。 请求应部分由encodeURIComponent()编码,但此函数使用utf-8编码 encodeURIComponent如何使用ISO-8859-1字符集而不是utf-8对请求变量进行编码?(或使用ISO-8859-1或其他方式进行编码的其他函数) 更新: 在这种情况下,是否可以使用escape()js函数poper选项 谢谢, 你应该没事的。我相信ISO-8859-1完全封装在UTF-8中,没有任何问题。我已经制作了一个字符集。您可以自己创建

我在使用ISO-8859-1字符集的网站上工作。 请求应部分由encodeURIComponent()编码,但此函数使用utf-8编码

encodeURIComponent如何使用ISO-8859-1字符集而不是utf-8对请求变量进行编码?(或使用ISO-8859-1或其他方式进行编码的其他函数)

更新: 在这种情况下,是否可以使用escape()js函数poper选项

谢谢,
你应该没事的。我相信ISO-8859-1完全封装在UTF-8中,没有任何问题。

我已经制作了一个字符集。您可以自己创建一个翻译表,也可以使用我使用的。该脚本应至少在IE7、FF3.6和Opera11上运行(尚未在其他浏览器上测试)

jQuery的示例代码:

var sBaseUrl = 'ajax.script.php';
var oData = {
    some_param : 'Zażółć gęślą jaźń',
    other_param : '1',
};

// build url
var url = localBuildURL(sBaseUrl, oData);

// get
$.ajax({
    url: url,
    dataType: 'text',   // JSON doesn't always parse...
    success: function(txt, status, xhr)
    {
        // do something with txt
        // or parse with: data = $.parseJSON(txt);
    }
});

编辑:实际上。。。ISO-8591-1不需要翻译表。其中所有字符仅为一个字节。
escape
功能应该足够了。

您在哪里接收数据?有机会在服务器端转换数据吗?我在客户端接收数据,今天我在服务器端转换数据。我正在寻找使用javascript的解决方案(可能是lib-jquery或yui有很好的解决方案),javascript在字符集转换方面通常很差。您正在编码什么类型的请求?base64可能是一种选择吗?完全不是。ISO中的所有字符实际上都用UTF-8表示,但两者之间只有ASCII部分是字节相同的。所有特殊字符都有不同的映射,例如:“is not'=>“'”特殊字符编码的differentlyPekka是错误的。集合中的所有字符仅为一个字节,它们通过
escape
功能正确转换。