2011-08-08 31 views
7

我正在一个网站上工作,同时在Firefox上显示它很好,在IE上我遇到了很多问题。我使用了w3c验证器,并且遇到了很多奇怪的错误。验证错误:在UTF-8中发现字节顺序标记文件

这里的链接网站:http://misenplacecatering.it/

第一个验证错误,我认为最相关的,是这样的:

Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported. 

Line 1, Column 1: Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>. 

我已经阅读了关于这个问题的其他线索,所以我试图打开该文件不同的编辑器(我始终使用Vim),但在doctype定义之前我没有看到任何空间或其他任何内容。我甚至使用记事本++,并使用一个选项来删除bom,但没有。

有什么建议吗?

反正

+0

我不会太在意的第二个错误引号内的值只要你没有删除第一个。您的页面确实在文件起始处具有额外的四个字节作为BOM。删除这四个字节并重试。 – Codo

+1

切勿使用UTF-8中的物料清单。这不过是另一个微软的错误。 – tchrist

+0

@tchrist - 我很高兴看到你扩大你的观点,通过添加一个相当受欢迎的问题的答案[utf-8和utf-8之间有什么不同之处,没有BOM?](http://stackoverflow.com/q/2223882/1497596)。 – DavidRR

回答

11

如果使用notepad ++,请使用转换为不带BOM的UTF-8。

如果您使用的是php,请确保任何包含的/必需的文件以ascii或UTF文件格式存在,因为php不会处理非ascii文件非常好(这一次让我头痛一次)

你可以尝试将文件转换为ASCII码,如果你不想让自己的<元字符集需要UTF字符

>尝试写

+0

谢谢,问题实际上是在另一个PHP文件。在主页中甚至没有使用过的文件。无论如何,我解决了与记事本++没有BOM保存。 – Carlo

+3

很高兴帮助。我曾经在第三级包括这个问题,我不会忘记它 – Einacio

+0

它帮助了我很多我有一个包含文件,这是不是没有BOM,这是造成问题。 –

1

免费的文本编辑器PSPad有一个十六进制编辑模式这是正是看到你真的在你的文本文件,非常方便。

相关问题