как работает <?xml version="1.0" encoding="utf-8"?>
отличается от <?xml version="1.0"?>
Это не так. Кодировка по умолчанию - utf-8
, поэтому включение или пропуск этой части объявления не имеет значения.
В любом случае, когда вы говорите о браузерах, обрабатывающих страницы XHTML, которые используются как text/html
MIME-тип, кодировка в XML-декларации игнорируется; только тег <meta>
(и, конечно, реальный заголовок HTTP, на котором он основан) имеет какой-либо эффект. Разница между браузерами есть только в том случае, если вы обслуживаете их разными типами (например, text/html
для IE и application/xhtml+xml
для других). Не делай этого.
Включение декларации XML вообще в документ XHTML-as-HTML заставляет IE6 отображать документ в режиме Quirks, но это исправлено в более поздних версиях .
Вы не должны включать декларацию XML в XHTML-as-HTML, и это IMO весьма сомнительной полезности даже в нативном XML, поскольку версия по умолчанию и кодировка почти всегда являются теми значениями, которые вам нужны.