好吧,有些事情疯了。除非中国从我的 iepage 上的测试 style.css 文件开始接管 - 好吧,我猜他们是从右脚开始讨厌 IE,但无论如何。它加载时没有样式表 - 可悲:(我进入网络检查器,看到我所有的链接文件都充满了[可能]汉字(瑨汭笠ऊ楷瑶......)我已经尝试删除服务器上的文件和重新上传它们。本地文件看起来很好,直接加载文件时它们看起来很好。我没有做任何应该改变渲染或任何事情的事情。
3 回答
所以我想我想通了。这很奇怪。但无论如何。
我将您的 HTML 复制并粘贴到本地文件中进行试验。它加载得很好。它被保存为 UTF-8。然后我把它改成 UTF-16,我得到了你所看到的!据我所知,浏览器(对我来说是 Firefox for Linux)假设链接的文件都与 HTML 采用相同的编码......
所以 - 我假设服务器上的文件是 UTF-16,如果你把它改成 UTF-8,你应该很好。希望修复它!
PS: 根据 Firebug 的说法,您的 HTML是由您的服务器压缩的,即使您从未明确告诉过它。但这似乎并没有造成任何问题,谢天谢地。
我从嵌入在 iFrame 中的 PowerShell 导出的 XML 文件遇到了同样的问题。
在 IE10/11 或 Edge 中没有问题,但 Firefox 和 Chrome 不会加载样式表。
加载 iFrame 的原始页面是 UTF8 编码的,与样式表相同。但是,XML 文件被导出为 UTF16LE(PowerShell 中的“Unicode”)。从 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 让我走上了正确的道路!