2

我正在 Windows 8 上使用 Internet Explorer 10 测试网站。

我有这个错误,我不明白这是什么意思:

HTML1405 “无效字符:U+0000 NULL。不应使用空字符。”

这是 Internet Explorer 开发人员中心/F12 开发人员工具控制台错误消息的文档,但没有关于如何修复错误的建议:

http://msdn.microsoft.com/en-us/library/ie/hh180764%28v=vs.85%29

这个错误在网站源代码的末尾,在</html>之后但是这里什么都没有。

4

2 回答 2

3

发送到浏览器的 HTML 文档除了一些换行符之外,在结束标记之后还包含一个 NUL 字符 U+0000 </html>。我检查了使用 Rex Swain 的HTTP 查看器分析您的页面的笨拙方式,显示格式选项设置为十六进制。在结果列表的末尾,有以下行:

47FF0: 3C2F68746D6C3E0D 0A300D0A0D0A     </html>• •0••••  

所以似乎 IE 10 就在这里,而 W3C 验证器是错误的。我不确定 W3C HTML5 CR 究竟是如何定义 HTML 源代码中允许的字符的(这似乎是通过解析算法间接说明的),但是根据 XML 规范以及以前的 HTML 规范,NUL 是不允许的。

无论如何,NUL 在那里没有任何好处,应该被删除,但另一方面,很难看出它是如何造成任何实际伤害的,尤其是当它出现在文档的结束标记之后时。

于 2013-02-13T13:56:58.660 回答
2

尝试将您的文件转换为没有 BOM 的 UTF-8,我遇到了同样的问题,为我工作!

我的文本编辑器 Notepad++ 在“编码 > 不带 BOM 的 UTF-8 编码”中有一个选项。

请参阅没有 BOM 的 UTF-8 和 UTF-8 有什么不同?了解更多信息。

于 2013-04-08T07:26:13.277 回答