0

我有一个以 ISO-8859-1 编码的 HTML 页面和一个像这样构建的 Prototype-AJAX 调用:

new Ajax.Request('api.jsp', {
    method: 'get',
    parameters: {...},
    onSuccess: function(transport) {
        var ajaxResponse = transport.responseJSON;
        alert(ajaxResponse.msg);
    }
});

api.jsp 以 ISO-8859-1 格式返回其数据。响应包含无法正确显示的特殊字符(德语变音符号),即使我在 AJAX 请求中添加了“编码:ISO-8895-1”。有谁知道如何解决这一问题?

如果我在新的浏览器窗口中单独调用 api.jsp,特殊字符也会损坏。而且我无法获得有关响应标头中使用的编码的任何信息。响应标头如下所示:

Server  Apache-Coyote/1.1
Content-Type    application/json
Content-Length  208
Date    Thu, 29 Apr 2010 14:40:24 GMT

注意:请不要建议使用 UTF-8。我必须处理 ISO-8859-1。

4

1 回答 1

1

刚刚自己找到了答案。虽然这是针对 PHP 的,但我相信您可以找到 ASP 的等价物 :)

基本上,只需在您的响应页面上包含编码标头(在您的情况下为 api.asp),如下所示:

header("Content-Type: text/html; charset=ISO-8859-1");

祝你好运:)

//詹尼克·奥尔森

于 2010-06-03T07:09:55.213 回答