jquery Ajax响应char问题
问题描述:
通过jquery ajax函数,我正在从服务器中取回数据。一切似乎都很好,但一些德语字符显示为'?' ,任何人都可以建议我如何解决这个问题。jquery Ajax响应char问题
$.ajax({
type: "GET",
cache: false,
dataType: "json",
contentType: "application/json; charset=iso-8859-1",
url: url,
async: true,
timeout: timeOut,
success: function (data, status)
{
if (status == "success")
{
displayHotelDetails(data);
}
}
});
答
的contentType
参数说怎么当数据被发送到服务器的data
参数(你不能使用)将被编码。此外,在描述contentType
参数jQuery.ajax文档的一部分,你会发现:
数据总是使用UTF-8字符集传送到 服务器;您必须 在 服务器端正确解码。
因此,您应该检查服务器响应的HTTP标头Content-Type
。您可以使用Fiddler或Firebug。
您可以明确地设置在HTTP头像
response.setHeader("Content-Type", "application/json; charset=ISO-8859-1");
或
response.setContentType("application/x-json");
response.setCharacterEncoding("ISO-8859-1");
呼叫应在服务器上完成,因此取决于您所使用的技术。