本地和远程服务器之间的字符编码不同

时间:2013-05-06 21:49:27

标签: javascript json utf-8 character-encoding

我遇到了字符编码问题。我正在使用D3.js加载json文件。某些行包含å,ä和ö等字符。它们在浏览器中呈现为,,但仅在上传到我的webhost时。在本地服务器上,一切正常。

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

1 个答案:

答案 0 :(得分:0)

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

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

如果所有其他方法都失败了,请使用JSON文本中的Unicode转义序列(例如,\u00e1代码encode)对问题字符进行编码。