Работа с ISO-кодировкой в ​​AJAX-запросах (прототип) - PullRequest
0 голосов
/ 29 апреля 2010

У меня есть 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. Ответ содержит специальные символы (немецкие умлауты), которые отображаются некорректно, даже если я добавлю «кодировка: ISO-8895-1» в AJAX-запрос. Кто-нибудь знает как это исправить?

Если я вызываю 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 Ответ

1 голос
/ 03 июня 2010

Только что нашел ответ сам. Хотя это для PHP, я уверен, что вы можете найти эквивалент для ASP:)

По сути, просто добавьте заголовок кодировки на страницу ответа (в вашем случае api.asp), например:

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

Удачи с этим:)

// Янник Олсен

...