Валидировал наконец то zu1.ru, долго бился с проблемой «Line 1, Column 0: character «?» not allowed in prolog.» и еще какой то не менее «понятной» ошибкой. Чем вызвана понять не мог, поскольку первая строка была идентична другим таким же на валидных блогах.
Ошибка же скрывалась в предупредительном сообщении валидатора «Byte-Order Mark found in UTF-8 File», оказывается, при сохранение скриптов (php,pl,…) в начало может подставиться идентификатор utf-кодировки Unicode Signature (BOM — Byte-Order Mark). Получается, что BOM находится еще до объявления php скрипта в коде страницы, что каким то чудом приводит к невозможности отправки headers или cookies. И хотя это не страшно, но валидатору не нравилось.
как исправить
В помощь пришел замечательный Notepad++, который позволяет при смене кодировки указать кодировку UTF-8 (без BOM), после чего проблема исчезла, а вместе с ней и те 2 ошибки…





Главное меню













Спасибо , помогло
Правда » 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.»
так и выдает
Нужно в Notepad++ выбрать пункт меню Кодировать -> Convert to UTF-8 without BOM
После этого ошибка должна исчезнуть. Правда, может появляться после сохранения страницы другим редактором