我有一个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。
答案 0 :(得分:1)
我自己找到了答案。虽然这是针对PHP的,但我确信你可以找到ASP的等价物:)
基本上,只需在您的响应页面(在您的案例中为api.asp)中包含编码标题,如下所示:
header("Content-Type: text/html; charset=ISO-8859-1");
祝你好运:)
// Jannik Olsen