http 响应中的 JSON 编码 unicode 在 Linux/MAC 上无法识别,但在 Windows 上被识别



在Windows 7上,Firefox/chrome this url: http://api.crossref.org/works/10.1007/bf01282841 将返回带有"title"值的JSON,其中包含编码的Unicode"\u201c"和"\u201d"。"标题"显示为

...

\u201cOgneupornerud\u201d...

但是,在 Ubuntu 14.10 和 Mac OSX 上,Firefox/chrome 相同的 url 将返回 "?" 而不是编码的 unicode。相反,"标题"显示为

...?Ogneupornerud?...

如果我使用 CURL,也会重复同样的问题。

如何让 ubuntu/mac 允许这些编码的 unicode 通过 http 响应?

编辑:

奇怪的是,来自同一主机的另一个 URL 适用于相同的 unicode。我现在更加困惑了。在 mac 和 Linux 上,以下 url 将返回编码的 unicode 字符没有问题:http://api.crossref.org/works/10.1038/jid.2009.449

第一个有效负载包含实际的问号。这可能是由于编写有效负载的代码未正确配置 UTF-8 引起的。

另一个 nit:媒体类型包含一个字符集参数,但对于应用程序/json 来说,这是未定义的(且毫无意义)。

最新更新