Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Вёрстка веб-сайтов > Объявление XML-версии в XHTML-документе |
Автор: K1ng 7.8.2008, 17:23 |
Создаю сайт, при этом строго придерживаюсь стандарта XHTML 1.0 - Strict. Однажды мне сказали что правильный XHTML-документ должен содержать объявление XML-версии, по типу: <?xml version="1.0" encoding="UTF-8"?> Я ввел эту строку перед объявлением DTD языка разметки: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> дальше случилась катастрофа... Не один браузер (кроме IE6) не отображает русский шрифт. Выводит только латинские и знаки препинания! :( Подскажите как лучше поступить? Может стоит поменять значение encoding? Или удалить нафиг xml-объяву? ![]() |
Автор: bars80080 7.8.2008, 18:03 |
ЕПТ, а фигли, ты написал <?xml version="1.0" encoding="UTF-8"?> какая у тебя кодировка в мета-тэгах написал бы тогда уж <?xml version="1.0" encoding="cp-1251"?> |
Автор: bars80080 7.8.2008, 19:53 |
не, по-моему всё же в xml надо указывать cp-1251 для виндовской (попробуй и так и так) обычно советуют utf-8 всё делать |
Автор: K1ng 7.8.2008, 21:10 |
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" > <head> <meta http-equiv="Content-Language" content="ru" /> <meta http-equiv="Content-Type" content=" text/html; charset=cp-1251 " /> вот... так работает, по крайней мере на виндовсе... Но правильно ли это? Валидатор W3C отклонений от стандарта не нашел, но всеравно я сомневаюсь! =( ------------------РЕДАКТИРУЮ----------------- Я ошибся, выдало несоответствие.... Ошибок не выдает только если делать: <?xml version="1.0" encoding="windows-1251"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" > <head> <meta http-equiv="Content-Language" content="ru" /> <meta http-equiv="Content-Type" content=" text/html; charset=windows-1251" /> P.S. даже если вместо "windows-1251" везде поставить "cp-1251" оно всеравно выдает предупреждение! |
Автор: bars80080 7.8.2008, 21:38 |
да нет <?xml version="1.0" encoding="cp-1251"?> и мета-тэг <meta http-equiv="Content-Type" content=" text/html; charset=windows-1251" /> скорее всего так |
Автор: K1ng 7.8.2008, 21:53 |
Проверил 1 способ, с двумя значениями windows-1251 Валидатор строгого XHTML 1.0 ошибок не нашел... Проверил 2 способ, изменил только: <?xml version="1.0" encoding="cp-1251"?> Результат: валидатор не нашел ошибок но вывел предупреждение: The character encoding specified in the HTTP header (windows-1251) is different from the value in the XML declaration (cp-1251). I will use the value from the HTTP header (windows-1251). С моим (не)знанием английского это примерно значит чтото типа: Кодировка определенная в заголовке нихера не совпадает с кодировкой в декларации XML... Как-то так... Я думаю это не принцыпиально важно, правда ведь? Нужно только еще проверить работает ли оно в Linux... Мне аж стыдно на винде сидеть! :((( |
Автор: bars80080 7.8.2008, 23:20 | ||
ну это личные комплексы. но для кого ты верстаешь? не для себя же? а большинство пользователей на виндах сидит а так подожди, <?xml version="1.0" encoding="windows-1251"?> <meta http-equiv="Content-Type" content=" text/html; charset=windows-1251" /> оно прокатывает? валидность соблюдается? если да, то искать то ничего больше не надо |
Автор: webster 8.8.2008, 00:19 | ||
Если я не ошибаюсь, то вот это объявление:
|
Автор: Gold Dragon 8.8.2008, 08:19 |
тоже решил писать XHTML 1.0 Strict, но отказался.. браузеры ещё не готовы.. начал вёрстку сайта и всё просто ползёт и причины просто не понять ![]() |
Автор: bars80080 8.8.2008, 09:17 | ||
как говорится, очуметь. то бишь реально стандарт не держится |
Автор: K1ng 8.8.2008, 09:43 | ||||
Чем больше людей, не способных соблюдать стандарты, тем больше нестандартных страниц, как следствие браузеры не могут себе позволить быть строже. (Кто будет пользоваться прогой, грамотно отображающей 10% страниц? - Никто.) Отсюда и замкнутый круг, раз браузеры снисходительно относятся к ошибкам, не имеет смысла соблюдать чрезмерно строгие стандарты...
XHTML намного строже... Может быть ты не все тонкости соблюдаешь? (Во первых разметка абсолютно не должна отвечать за внешний вид. Для этого нужен CSS. Разметка отвечает только за содержимое)
Приму к сведению, спасибо! На одном OS может быть одновременно IE7 and IE6? P.S. Лет через 10, если консорциум добьется своего, от HTML останутся только хорошие воспоминания! По этому нужно приобщаться к XHTML... |
Автор: bars80080 8.8.2008, 10:02 |
посмотри здесь http://browsers.evolt.org/?ie/32bit/standalone http://www.my-debugbar.com/wiki/IETester/HomePage |
Автор: Gold Dragon 8.8.2008, 11:00 |
я тут уже задавал вопрос про это. Там таблица и три ячейки, в двух картинка.. Но если сделать нулевые отступы, то третья улетает на 5 пикселей. Всё валидно, но криво ![]() |