处理AJAX请求中的ISO编码(原型)

时间:2010-04-29 14:27:14

标签: ajax encoding utf-8 iso-8859-1

我有一个HTML页面,用ISO-8859-1编码,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请求添加“encoding: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。

1 个答案:

答案 0 :(得分:1)

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

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

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

祝你好运:)

// Jannik Olsen