无论如何,我需要通过网络访问某种文件存储。我删除了index.html以列出/ var / www中的其他文件。现在,如果我在浏览器中打开json文件(UTF8没有BOM),ä,ü,ö等特殊字符将无法正确显示(正常字符)。如果我下载文件,我的系统上的一切都是正确的。 所以文件本身很好,但是从apache到web的流不是UTF8,或类似的东西。而且我想改变。
我需要这个Android应用程序,我用volley lib解析json文件的内容。但它也让特殊的角色错了。
希望这比起来更有用。我为此道歉。
答案 0 :(得分:1)
唯一错误的是您的浏览器不知道它应该将UTF-8编码的JSON文件解释为UTF-8。相反,它回退到其默认的Latin-1解释,其中某些字符会搞砸,因为它使用错误的编码来解释文件。
就是这样。如果使用正确的编码(在这种情况下为UTF-8)解释,该文件将显示正常 使用浏览器的View→Encoding菜单将其强制为UTF-8并查看它是否有效。
为什么浏览器不使用UTF-8?因为没有HTTP Content-Type
标头告诉它这样做。为什么没有适当的HTTP标头集?因为您没有告诉您的Web服务器它应该为.json文件设置此标头。你怎么告诉Apache这样做的?在.htaccess文件中添加this line:
AddCharset UTF-8 .json