Ошибка проверки: в файле UTF-8 обнаружена метка порядка байтов

Я работаю над веб-сайтом, и хотя в Firefox он отображается нормально, в IE у меня много проблем. Я использовал валидатор w3c и получил много странных ошибок.

Вот ссылка на веб-сайт: http://misenplaceketing.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>.

I've read other threads about this issue so I tried to open the file with different editors (I always use Vim, anyway), but I don't see any space or anything else before the doctype definition. I even used notepad++ and used an option to remove bom, but nothing.

Какие-либо предложения?

Так или иначе,


person Carlo    schedule 08.08.2011    source источник
comment
Меня бы не слишком заботила вторая ошибка, пока вы не удалили первую. Ваша страница действительно имеет дополнительные четыре байта в начале файла, которые служат спецификацией. Удалите эти четыре байта и повторите попытку.   -  person Codo    schedule 08.08.2011
comment
Никогда не используйте спецификации в UTF-8. Это еще одна ошибка Microsoft.   -  person tchrist    schedule 09.08.2011
comment
@tchrist - я бы хотел, чтобы вы расширили свою точку зрения, добавив ответ на довольно популярный вопрос Чем отличается utf-8 от utf -8 без спецификации?.   -  person DavidRR    schedule 02.10.2014
comment
@DavidRR Это безнадежно. UTF-8 не имеет спецификации. Microsoft решила лгать людям так, как они уже это делают, называя Unicode кодировкой, которой она не является. Точно так же то, что они называют UTF-8, на самом деле является UTF-8 с посторонним U+FEFF ZERO WIDTH NO-BREAK SPACE перед реальными данными. То, что они называют UTF-8 без спецификации, является настоящим UTF-8. Таким образом, у них есть миллионы людей, которые получают все в обратном порядке и создают файлы, которые по умолчанию содержат что-то другое, чем то, что они якобы содержат. Это полный провал.   -  person tchrist    schedule 02.10.2014
comment
@tchrist - мне было интересно, что ни один из ответов на Чем отличается utf-8 от utf-8 без спецификации? особо отметил, что Microsoft оказала ключевое влияние на популяризацию использования спецификации с UTF-8. Однако статья о спецификации в Википедии действительно цитирует Microsoft, и я использовал эту статью. в качестве основы для написания моего собственного ответа.   -  person DavidRR    schedule 03.10.2014


Ответы (2)


если вы используете блокнот++, используйте Convert to UTF-8 без BOM.

если вы используете php, убедитесь, что любой включенный/обязательный файл находится либо в ascii, либо в UTF без спецификации, так как php не очень хорошо обрабатывает файлы, отличные от ascii (это один раз вызвал у меня головную боль)

вы можете попробовать преобразовать ваши файлы в ascii, если вам не нужны символы utf

в вашей ‹мета-кодировке › попробуйте написать значение в кавычках

person Einacio    schedule 08.08.2011
comment
Спасибо, проблема была на самом деле в другом файле php. Файл, который даже не используется на главной странице. Во всяком случае, я решил сохранить его с помощью блокнота ++ без спецификации. - person Carlo; 08.08.2011
comment
рад, что это помогло. у меня когда-то была эта проблема на третьем уровне включения, и я ее не забуду - person Einacio; 08.08.2011
comment
Это мне очень помогло, у меня был включаемый файл, который не лишен спецификации, и это создавало проблему. - person shubh jaiswal; 09.03.2015

Бесплатный текстовый редактор PSPad имеет шестнадцатеричный режим редактирования, который очень удобен для просмотра того, что у вас есть в тексте. файлы.

person kindall    schedule 08.08.2011