Internet Explorer开发人员中心错误:HTML1405:无效字符:U + 0000 NULL。不应使用空字符

时间:2013-02-13 11:25:52

标签: html windows internet-explorer

我正在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>之后但这里什么都没有。

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

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

我的texteditor Notepad ++在“编码&gt; UTF-8无编码编码”中有一个选项。

有关详细信息,请参阅What's different between UTF-8 and UTF-8 without BOM?