【发布时间】:2013-10-14 10:26:53
【问题描述】:
我必须读取用 utf-8 字符集编码的 JSON 文件
我使用这种语法:
$http.get('resources/negozi.json',
{header : {'Content-Type' : 'application/json; charset=UTF-8'}
}).success(function(data) {
... code here
});
但是,响应头是:
内容类型:文本/纯文本; charset=ISO-8859-1
如果我尝试使用 jquery 执行此操作:
$.ajax({
type: "GET",
url: "resources/negozi.json",
contentType: "application/json; charset=utf-8",
dataType: "json",
请求标头正确。但是,响应是一样的。
内容类型:文本/纯文本; charset=ISO-8859-1
【问题讨论】:
-
你使用的服务器是什么?
-
正如@nubbel 所说,服务器响应决定了返回的内容 - 检查您的服务器端代码。
-
服务器端代码是我。我自己写了一个 utf-8 编码的 json 用于测试。不幸的是,我无法更改服务器上的任何内容
-
@Banasci 如果服务器端代码是你的,为什么你不能改变它?
-
如果服务器说
charset=ISO-8859-1是真的 - 你为什么要关心?这些东西应该透明地工作,你不应该(因此不能轻易地)强迫服务器给你一个特定的字符集。但是,如果服务器说charset=ISO-8859-1并且它不是事实,那么您需要修复服务器,而不是客户端。
标签: javascript jquery angularjs encoding utf-8