在未首先查看doctype的情况下发现非空格字符.预计& lt; !DOCTYPE html>


Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>

我在w3c验证器上测试了我的HTML5网页,出现了错误

"Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>"

但是正如你所看到的,我把doctype放在了首位。我在这里发现了一个HTML验证错误:在DOCTYPE之前发现的非空格字符表示有关BOM文件的内容。我不确定是否有BOM文件在我的源代码。

是否有任何方法如何使用unix命令递归地查找给定目录的BOM文件?

是否有其他的原因提到错误显示给我?

更新:

按照观察者的建议,根据命令

grep -rl $''xEF'xBB'xBF' .

从主题优雅的方式搜索UTF-8文件与BOM?我的源代码中没有BOM源代码文件。所以这可能不是BOM文件的问题,一定有别的东西导致这个错误。

您的页面在DOCTYPE之前确实包含字符串Cannot detect language.

似乎它不包含在所有浏览器的HTML中,所有的时间。我只是在Web(以前的Epiphany)上看到它,但现在它不见了。

使用Wget或cURL下载页面可能仍然会显示它(对我来说仍然如此)。