好吧,有些事情发疯了。除非中国在我的网页上接管我的测试style.css文件,所以我猜他们正在开始对IE进行右脚憎恨,但无论如何。它加载没有样式表 - 悲伤:(我进入Web检查器,看到我所有链接的文件都填充了[可能]中文字符(瑨汭笠ऊ楷瑶...)我试过删除服务器上的文件和重新上传它们。本地文件看起来很好,直接加载文件时它们看起来很好。我没有做任何应该改变渲染或其他任何事情的东西。
答案 0 :(得分:12)
所以我想我弄明白了。这是怪异的。但无论如何。
我将您的HTML复制并粘贴到本地文件进行试验。它装得很好。它被保存为UTF-8。然后我将它改为UTF-16,我得到了你所看到的!据我所知,浏览器(适用于Linux的Firefox)假设链接文件的编码与HTML相同......
所以 - 我假设服务器上的文件是UTF-16,如果你把它改成UTF-8你应该很好。希望能解决它!
PS:根据Firebug,您的HTML 是由服务器压缩的,即使您从未明确告知过它。但幸运的是,这似乎并没有造成任何问题。
答案 1 :(得分:2)
我从嵌入在iFrame中的PowerShell导出的XML文件遇到了同样的问题。
IE10 / 11或Edge没有问题,但Firefox和Chrome无法加载样式表。
加载iFrames的原始页面采用UTF8编码,与样式表相同。但是,XML文件导出为UTF16LE(" Unicode"在PowerShell中)。从iFrame加载XML文件时,它将样式表作为中文字符加载。
我在PowerShell中转换了编码......
Get-Content C:\foldername\file.html -Encoding Unicode | Set-Content -Encoding UTF8 C:\foldername\file.html
......它有效!我的猜测是IE必须将所有文件的编码视为与父文件相同,这意味着UTF16LE编码文件呈现为UTF8。 Chrome和Firefox显然不会这样做。
感谢Xavier Holt让我走上了正确的道路!
答案 2 :(得分:0)