3

我的 api 返回以下 json。

HTTP/1.1 200 OK
Date: Fri, 30 Aug 2013 14:14:32 GMT
Server: Apache/2.2.22 (Ubuntu)
Content-Length: 431
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json


{
   "member": [
    {
      "city": "Li\u00e8ge",
      "country": "Belgi\u00eb",
    }
  ]
}

遵循规范(JSON 规范)JSON 文本应以 Unicode 编码。默认编码为 UTF-8。所以 Contect-Type 没有指定字符集

但 chrome 或 IE10 浏览器未正确显示 è ( \u00e8 ) 和 ë ( \u00eb )。这是因为 chrome 或 IE10 有不同的默认字符集。我需要将 API 提供给客户,他还会看到字符串“Belgi\u00eb”和“Li\u00e8ge”。我是否以某种方式违反了规范,或者我做得对,浏览器是否愚蠢?

4

1 回答 1

-2

如果需要,您可以指定字符集:

contentType    : 'application/json; charset=utf-8'

并且utf8_decode在另一端使用(或类似的)只是为了确保。在这里工作。

于 2013-08-30T14:29:24.140 回答