Ошибка проверки HTML: непустые символы найдены до DOCTYPE - PullRequest
8 голосов
/ 08 ноября 2011

У меня есть блог (на основе WordPress).И попробуйте подтвердить с помощью w3c validator одну из моих страниц.Первая ошибка:

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

Кроме того, DebugBar (http://www.my -debugbar.com / wiki / IETester / HomePage) согласен и показывает два невидимых символа до <!, когда я открываю ту же страницу из "HTML Check "вкладка внутри этого инструмента.НО !!

  1. Эта строка HTML-кода взята из файла header.php в моей теме WordPress.
  2. Я загружаю этот файл с моего хостера на свойлокальный жесткий диск.
  3. Первая строка header.php равна <!DOCTYPE html><!-- HTML 5 -->
  4. Когда я открываю header.php в RJ TextEd (только расширенный)текстовый редактор) там написано: текущая кодировка header.php - это UFT-8 без (!) BOM.
  5. Когда я открываю header.php в HEX-viewerЯ вижу, что байты 0 и 1 равны 3c, 21 - так что это точно <!.

Итак, учитывая все обстоятельства, почему и откуда я взял эти "нечетные символы"?

1 Ответ

19 голосов
/ 09 ноября 2011

Я нашел корень проблемы.Общее правило:

Если какой-либо (абсолютно любой!) Файл, участвующий в построении кода конечной HTML-страницы (того, который должен быть отправлен клиенту), имеет кодировку с BOM - finalHTML-страница БУДЕТ UTF-8-BOM.То есть: весь ваш сайт должен НЕ содержать даже 1 файл с спецификацией.

В моем случае у меня всего 1,3K файлов, которые составляют мой сайт,Только 4 файла были BOMed:

  • wp-config.php (в корне сайта)
  • jquery.query.js (в папке include)
  • cyr-to-lat.php (в папке плагина)
  • footer.php (в корневой папке темы)

И я был вынужден повторно сохранить все эти 4файлы как «UFT-8 без спецификации», чтобы избавиться от ошибки проверки «непробельные символы».Когда я сделал это (повторно сохранить файлы) - ошибка исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...