Если вы отправляете кодировку в заголовке с типом контента, все же рекомендуется отправлять внутри тега head через метатег? - PullRequest
3 голосов
/ 03 сентября 2011

У меня больше нет ссылки, как это было несколько месяцев назад, но была большая и подробная статья о настройке кодировки тела, отправляемой пользовательскому агенту.

Сутьстатья заключалась в том, что, когда это возможно, отправляйте его через заголовок типа содержимого, так как синтаксический анализатор пользовательских агентов до начала анализа тела будет знать, что это (например) utf-8 и т. д.

Отправкачерез метатег означает, что он должен ждать, пока указанный метатег будет найден, затем вернуться в начало документа и начать повторный анализ документа.

Итак, довольно долго мы отправляли кодировку череззаголовок типа контента, например (в любом случае в PHP):

header('Content-type: text/html; charset=utf-8');

Все отлично работает.Насколько мы можем видеть, все так, как и должно быть во всех обычно используемых пользовательских агентах.

Мой вопрос заключается в следующем: в качестве резервного / отказоустойчивого / на всякий случай, если мы все еще отправим метаданные charsetтег?Будет ли повторная отправка с использованием метатега побеждать цель отправки через заголовок типа содержимого?


edit: Это не точная статья, но повторяетсяуказать (http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyCharsetEarly), чтобы при возможности отправлять кодировку через заголовок.

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011

Да, я всегда стараюсь это делать, поскольку это делает документ более переносимым.Например, при просмотре из локального файла он будет отображаться так же, как и при доставке через веб-сервер.

0 голосов
/ 03 сентября 2011

у меня такой вопрос, как резервное копирование / отказоустойчивость / просто в случае, если мы все еще отправим метатег charset?

Да, всегда полезно указывать метатегв вашей разметке, которая указывает кодировку.Это должен быть первый тег после <head>.

...