1

我遇到了字符编码的问题。我正在使用 D3.js 加载一个 json 文件。某些行包含诸如 å、ä 和 ö 之类的字符。这些在浏览器中呈现为�,但仅在上传到我的虚拟主机时。在本地服务器上,一切正常。

我已经尝试了所有可以想到的文件编码,但没有任何帮助。有任何想法吗?谢谢!

4

1 回答 1

0

首先,排除上传过程中损坏的文件。确保服务器上的 json 文件与您上传的文件相同。往返测试是一个很好的工具。(从服务器 FTP 文件返回并检查它是否与您开始使用的相同。如果您在 Windows 机器上使用简单的 FTP 客户端(或者如果您的服务器是 Windows),请确保使用二进制传输模式。)

其次,检查来自服务器的文件的标题。标Content-type头应指定application/json为媒体类型。根据RFC 4627,JSON 文件必须以某种 Unicode 编码进行编码。默认值为 UTF-8,但也可以是 UTF-16(LE、BE 或带有字节顺序标记)。确保如果标头指定了正确的编码。(特别是,它应该与您用于生成文件的编码相匹配。)

如果一切都失败了,请\u00e1在 JSON 文本中使用 Unicode 转义序列(例如,对于 á)对问题字符进行编码。

于 2013-05-06T21:59:44.137 回答