LINUX.ORG.RU

Как правильно указывать кодировку в HTML?

 , ,


0

1

Собственно сабж:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
vs.
<meta charset='UTF-8'>
Что писать в head? Или вообще ничего не писать, а просто выставить кодировку в настройках веб-сервера?

★★★★★

Из зала подсказывают, что некоторые браузеры имеют свойство забивать на meta charset.

spyro ()

Первое поймет любой браузер, второе - только новые. Лучше писать IMHO. Сервер, самой собой, тоже должен отдавать.

Boba_Fett ()

Первое для html4, второе для html5. Также следует ставить слэш в конце тега, ибо он одинарный.

anonymous ()

не прописывать - это быдловёрстка. прописать надо, а будет оно работать, или нет - это уже проблемы клиента.

funeralismatic ★★★ ()

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

Reaper ★★ ()
Ответ на: комментарий от aedeph_

Создатели xhtml4 тоже так не думали, только смысла в нём так и не нашлось кроме геморроя. Ну, за исключением единственного хорошо допиленного мода для имакса для семейства html. )))

Reaper ★★ ()
Последнее исправление: Reaper (всего исправлений: 1)
Ответ на: комментарий от funeralismatic

Это не единственный минус xhtml. Подумай, почему 99% xhtml документов в интернете в настоящий момент (ну не точный процент, конечно, а просто львиная доля) имеют Content-Type text/html, а не application/xhtml+xml.

Reaper ★★ ()
Ответ на: комментарий от CYB3R

Яднекс, Гугол

К.О.: это поисковики, их не индексируют, контента собственного нет. Мало кто сохраняет поисковую страничку гугла для последующего чтения в офлайне :)

Boba_Fett ()
Ответ на: комментарий от Reaper

xhtml в жопу, в нём нет никакого смысла. html5 наше всё

Вообще-то html5 имеет официальное представление в виде xhtml, как и html.

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

И что «вообще-то»? А html4xx имеет 4 официальных представления в xhtml, не считая xhtml 2.0. Это как-то отменяет ненужность xhtml?

Может тут кто-то смысл в нём сможет озвучить?

Reaper ★★ ()
Ответ на: комментарий от Reaper

XHTML был последней надеждой на то, что версточный быдлокод уйдет в небытие. Ты часто видишь компиляторы или интерпретаторы, которые не ругаются, когда ты нарушаешь синтаксис или последовательность операторов? Я вообще таких не видел. XHTML за такой подход строго наказывал экраном с ошибкой. В HTML такой строгости нет. Теперь опять можно быдлокодить как хочешь, в стандарте HTML5 90% занимают описательные правила как такой быдлокод парсить, дабы во всех совместимых браузерах такая страница отображалась более-менее одинаково.

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

И что, «последняя надежда», что-то изменила в вёрстке? Лично я не заметил. Поэтому по прошествии нескольких лет использования xhtml говорю, он не нужен.

Reaper ★★ ()
Ответ на: комментарий от Reaper

И что, «последняя надежда», что-то изменила в вёрстке? Лично я не заметил.

А чья это вина, что легче клепать быдлокод, чем использовать XHTML?

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

От быдлокода не избавляет ничего само по себе, не надо идеализировать формат. xhtml вносит элемент дисциплины в писанину, но можно легко и на xhtml нагородить такого, что утонешь потом. И наоборот, чтобы писать чисто, xhtml не требуется.

Reaper ★★ ()
Ответ на: комментарий от Reaper

xhtml вносит элемент дисциплины в писанину

В том-то и дело, что XHTML вносит, а HTML - выносит обратно.

можно легко и на xhtml нагородить такого, что утонешь потом

Нельзя. На XHTML нельзя написать синтаксически некорректный код. На HTML - легко, даже никто не пожурит.

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

На XHTML нельзя написать синтаксически некорректный код. На HTML - легко, даже никто не пожурит.

В итоге я вижу в интернете поломанные страницы XHTML. Мне глубоко безразлична синтаксическая правильность вёрстки, пока я могу нормально прочитать то, что хотел.

helios ★★★★★ ()
Ответ на: комментарий от Boba_Fett

Синтаксическая некорректность кода, это конечно, главная проблема при вёрстке, приводящая к говнокоду, lol. Она не высосана из пальца, не.

Говнокод - это когда нечитаемая каша в хтмл, говнокод - это вёрстка таким образом, что потом надо долго мудохаться, чтобы в используемых браузерах рендеринг был одинаковым. А какой-то неправильно написанный тэг, который не отображается вообще в результате, это не говнокод, это просто ошибка, которая в кашу всё не превращает, проблем не создаёт и придумывать целый специальный формат, поддержку которого будут вводить в браузеры сто лет, для её устранения, не нужно.

Reaper ★★ ()
Последнее исправление: Reaper (всего исправлений: 1)
Ответ на: комментарий от CYB3R

Много кто может «пожурить». От валидатора до встроенных в браузер средств «отладки».

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

Только страницу браузер будет рисовать в любом случае, даже с ошибками.

Т.е. ты осознаешь, что HTML поощряет такой код, верно?

Boba_Fett ()
Ответ на: комментарий от helios

В итоге я вижу в интернете поломанные страницы XHTML.

Приведешь пример? Поломанную XHTML-страницу видно сразу, разработчику легче.

Boba_Fett ()
Ответ на: комментарий от Reaper

Говнокод - это когда нечитаемая каша в хтмл

Давай не будем путать говнокод с кодом-лапшой, оке?

говнокод - это вёрстка таким образом, что потом надо долго мудохаться, чтобы в используемых браузерах рендеринг был одинаковым

Ты это, к XHTML/HTML сейчас совершенно другой стандарт (CSS) не приплетай, ладно? То, что человек пишет плохо поддерживаемый код - это одна из бед. Хуже, когда он и сам HTML пишет абы как, совершенно не заботясь о тегах. Я с такой версткой сталкивался очень много, поэтому понимаю, насколько бы XHTML облегчил бы мне жизнь.

А какой-то неправильно написанный тэг, который не отображается вообще в результате, это не говнокод, это просто ошибка, которая в кашу всё не превращает, проблем не создаёт

Да ты че, а мужики-то и не знают :D Ты попробуй «поотлаживать» верстку на несколько тысяч строк, где по стечению обстоятельств из-за динамического контента все плывет, а валидатор валится на 200-й по счету ошибке, поэтому бесполезен. А потом мне уже рассказывай сказки.

P.S. короче HTML5-фанбои не могут отделить мух от котлет, потому и кричат XHTML - говно. Все как обычно, расходимся.

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

> XHTML за такой подход строго наказывал экраном с ошибкой.

Теперь и это уходит. В той же Опере автоматический репарсинг в HTML при ошибке, насколько я помню.

Deleted ()

Итого: и на сервере, и на странице (второй вариант).

Кстати о сраче. Из-за того, что в HTML некорректные документы таки должны продолжать парситься в HTML5 описывается как с этим поступать. Причём, некоторые незакрытые теги изменяют поведение других, отображение их. Примеров, к сожалению, не помню. Так что «well-formed» корректный код писать лучше даже в HTML, дабы не наткнуться на пути в браузерах, предназначенные для того, чтобы говнокод отображался так, как какой-то сферический говнокодер в вакууме задумал.

Deleted ()
Ответ на: комментарий от Boba_Fett

Ослы тоже понимают. Разве что ты тестил какой-нибудь оченно древний. Эту форму как раз выбрали именно по этой причине.

Ну, тоже AFAIR, да :}

Deleted ()
Последнее исправление: Mystra_x64 (всего исправлений: 1)
Ответ на: комментарий от Boba_Fett

Приведешь пример?

Вся соль в том, что ищешь в гугле, ни о чём не подозревая, а тут бац — тебе плюют поломанной xml'кой. Это не так уж критично, просто неприятно.

Поломанную XHTML-страницу видно сразу, разработчику легче.

Угу, и это прекрасно! Только вот потом рендеринг страниц автоматизируется, проект с чем-нибудь интергируется (например, WISIWIG-редатором). Через какое-то количество итераций, получаем «мифический баг».

А вот если бы был у xml режим development и production, было бы круто... А вот в html он есть в виде валидаторов и прочей фигни.

Так и происходит обычно: чем шире область применения и работоспособности технологии, тем выше выживаемость.

helios ★★★★★ ()
Ответ на: комментарий от Reaper

Говнокод - это когда нечитаемая каша в хтмл, говнокод - это вёрстка таким образом, что потом надо долго мудохаться, чтобы в используемых браузерах рендеринг был одинаковым. А какой-то неправильно написанный тэг, который не отображается вообще в результате, это не говнокод, это просто ошибка, которая в кашу всё не превращает, проблем не создаёт и придумывать целый специальный формат, поддержку которого будут вводить в браузеры сто лет, для её устранения, не нужно.

если знать все особенности каждого браузера (заметте, - браузера, а не какого-нибудь интернет эксплорера, о нём речи вообще быть не может), то таких проблем возникнуть не должно, а если возникло, значит надо не гнать на xhtml, а, как раз начать учиться заново, и именно с него!

funeralismatic ★★★ ()
Ответ на: комментарий от Reaper

Тяжело тебе, наверно, с такой работой, где прям уж пачками. :)

Зато платят хорошо :)

Boba_Fett ()
Ответ на: комментарий от helios

Через какое-то количество итераций, получаем «мифический баг».

У нас такие баги как раз выплывали при интеграции с различными автоматизированными бэкэнд-комбайнами. И иногда они проглатывали тег-другой. Только вот прикол: в XHTML тебе сразу покажут ошибочное место, а вот с HTML уже хуже, т.к. не знаешь из-за чего что поплыло, валидатор заваливается на бок и дергает лапкой из-за количества кода, приходится по наитию искать. Иногда на такие проблемы тратились значительные силы.

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

Поломанную XHTML-страницу видно сразу, разработчику легче.

когда сайт из одной страницы и разработчик на неё ходит - видно. В остальных случаях какой-нить похапэшный ворнинг изувечивает страницы целиком.

Да, формально проблема в кривом хостинге или в кривом коде. Но из этого веб и состоит :)

Короче, хочешь - используй, никто не запрещает.

true_admin ★★★★★ ()
Ответ на: комментарий от Deleted

Давно бы все кривые хостинги починились. Или сдохли :}

ну, с браузерами этого не произошло... И с языками программирования не произошло... В общем, не, нереально в один миг мир избавить от зла. Потому что каждый видит зло по-своему :(

true_admin ★★★★★ ()
Ответ на: комментарий от Boba_Fett

Первое поймет любой браузер, второе - только новые

Чушь не городи. При указании доктайпа html5 все ослы, включая шестой, будут работать в стандарт моде и поймут <meta charset='UTF-8'> как надо. Или для тебя шестой ослик слишком новый, а есть ещё более старые в использовании?

Apple-ch ★★ ()
Ответ на: комментарий от true_admin

У того-самого-браузера монополия, вот и не произошло. А «языки программирования», всё же, за синтаксические ошибки ругают. Тот же XHTML заглох не в последнюю очередь благодаря IE. Ну и там W3C ударилось в маразм с XHTML2…

Deleted ()
Ответ на: комментарий от Apple-ch

Или для тебя шестой ослик слишком новый, а есть ещё более старые в использовании?

Я вообще в последнее время только на 8 осла ориентируюсь. Ты прав, атрибут charset в мета-теге должен работать везде. Не знаю почему у меня в голове другое отложилось, может из-за валидаторов для XHTML 1.0, которые ругались :)

Boba_Fett ()
Ответ на: комментарий от Boba_Fett

валидно != красиво («красиво» читать как «задумано дизайнером/верстальщиком»).

при этом недобраузер скорее доказывает это неравенство.

funeralismatic ★★★ ()
Ответ на: комментарий от funeralismatic

На HTML+CSS с картинками можно нарисовать всё, что угодно вообще. Какими бы запросы дизайнера не были. И это можно сверстать валидно.

CYB3R ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.