Css и кодировка

1 23
ТВЭЛ
На сайте с 29.09.2006
Offline
111
#21

nickspring, да, чаще всего прокатывает, я не спорю. Просто возможны глюки, и некоторые люди уже с этим сталкивались. Так смысл в экспериментах, когда можно сделать все в одной кодировке? :)

Время не ждёт.
nickspring
На сайте с 29.03.2006
Offline
228
#22
ТВЭЛ:
Просто возможны глюки, и некоторые люди уже с этим сталкивались.

Примеры есть? Нет. Зато полно примеров когда одна опечатка в CSS давала такой эффект.

Кстати в спецификации нет ни слова о том, что кодировки у HTML и CSS должны быть одинаковы http://www.w3.org/TR/CSS2/ ... я уже не говорю о том, что все современные браузеры любой HTML-документ в любой кодировке сначала преобразуют в Unicode, а затем уже производят его рендеринг.

ТВЭЛ
На сайте с 29.09.2006
Offline
111
#23
nickspring:
Примеры есть? Нет. Зато полно примеров когда одна опечатка в CSS давала такой эффект.

http://cssing.org.ua/2006/12/23/ie-css-russian-comments-bug/

А вообще, не понимаю, зачем эти споры. Если вам нужен потенциальный геморой - делайте как обычно, мне то что? Только другим не рекомендуйте.

ТВЭЛ
На сайте с 29.09.2006
Offline
111
#24

Кстати, теперь насчет спецификаций...

http://loc.stack.ru/projects/CSS2/syndata.html#q23

w3c:

Если таблица стилей находится в отдельном файле, агенты пользователей при определении кодировки символов документа должны учитывать следующие приоритеты (по степени убывания приоритета):
  • Параметр "charset" HTTP в поле "Content-Type".
  • Правило at @charset.
  • Элементы кодировки языка в документе, из которого происходит ссылка на таблицу (например, атрибут "charset" элемента LINK в HTML-документе).

Представим себе, что сервер не отдал charset (всякие настройки бывают), а charset в самой таблице обычно никто не ставит. Что тогда?

А вообще, все же мне интересна ваша позиция :) В чем она заключается? Для чего вы отстаиваете такой странный мультикодировочный вариант?

nickspring
На сайте с 29.03.2006
Offline
228
#25

ТВЭЛ,

1.

ТВЭЛ:
Кстати, теперь насчет спецификаций...
http://loc.stack.ru/projects/CSS2/syndata.html#q23

И? Вашей позиции там не прозвучало. Мало того, читайте в том же пункте:

"Для передачи и хранения эти символы должны кодироваться в соответствии с той системой кодировки, которая поддерживает набор символов US-ASCII (например, ISO 8859-x, SHIFT JIS и т.д.). "

То бишь, и utf-8 и koi8-r и windows-1251 подойдут.

2.

ТВЭЛ:
А вообще, не понимаю, зачем эти споры.
ТВЭЛ:
А вообще, все же мне интересна ваша позиция В чем она заключается?

Таки определитесь уж. Я вчера ушел из топика, а тут оказывается что зря.

3.

ТВЭЛ:
А вообще, все же мне интересна ваша позиция В чем она заключается? Для чего вы отстаиваете такой странный мультикодировочный вариант?
ТВЭЛ:
http://cssing.org.ua/2006/12/23/ie-c...-comments-bug/

Цитата по Вашей ссылке http://cssing.org.ua/2006/12/23/ie-css-russian-comments-bug/:

"Но лучше никогда не использовать кириллицу для комментирования CSS файлов. Мало ли к чему там будут прикручивать потом вашу верстку… а кодировку CSS файлов догадаются поменять в последнюю очередь."

Таким образом, я за отсутствие кириллицы в CSS и за забитие на кодировку CSS. Знаете почему? Потому что имена id, class в нормальной верстке должны говорить сами за себя, без всяких комментариев.

4. К сожалению, ТС не ответил что и как, но вероятно Вы были правы в том, что проблема в русских комментариях. Просто я, например, лично такого извращения как русские комментарии в CSS еще никогда не встречал.

Mmonger
На сайте с 01.12.2005
Offline
165
#26
nickspring:
Примеры есть? Нет. Зато полно примеров когда одна опечатка в CSS давала такой эффект.
Кстати в спецификации нет ни слова о том, что кодировки у HTML и CSS должны быть одинаковы http://www.w3.org/TR/CSS2/ ... я уже не говорю о том, что все современные браузеры любой HTML-документ в любой кодировке сначала преобразуют в Unicode, а затем уже производят его рендеринг.

В случае комментариев на русском кодировка важна.

Кодировка CSS файлов по умолчанию выставлена windows-1251. HTML отдаётся как UTF-8. Однако оказывается, что в ИЕ6 и ниже, сайт сильно расползается и часть CSS не работает. Причина - русские комментарии в CSS.

Для примера CSS-файл с русскими комментариями в кодировке windows-1251:

1. /*Русский комментарий*/

2. #content{

3. color:#fff;

4. background:#000;

5. }

И две HTML-странички(страничка в windows-1251 и страничка в UTF-8), отличающиеся лишь метатагами

1. <meta http-equiv="content-type" content="text/html; charset=utf-8">

И

1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

Обе странички ссылаются на один и тот же CSS-файл. В результате в ИЕ6 и ниже, CSS на страничке с кодировкой UTF не срабатывает. Все из-за русских комментариев.

Решение

Есть несколько путей:

* Удалить русские комментарии из CSS

* Поменять кодировку CSS файла на UTF-8

Суть бага в том, что при наличии русского комментария (UTF-кодировка страницы переносится и на CSS), IE съедает символ закрытия комментария, в результате весь CSS после русских букв оказывается так же закоментированным. В IE7 этот “баг” не проявляется. Примеры смотреть в IE 6 и ниже.

Источник тут: http://cssing.org.ua/2006/12/23/ie-css-russian-comments-bug

Всё будет хорошо, но мы приложим усилия!
IS
На сайте с 16.08.2006
Offline
160
#27
anne, каким текстовым редактором Вы пользуетесь, поддерживает ли он UTF?
Рекомендую по этой части UltraEdit

Существует и хороший бесплатный и русифицированный Notepad++ ( http://sourceforge.net/projects/notepad-plus/ - исправил на рабочую ссылку)- Нужно выбирать Кодировку в UTF без BOM

ТВЭЛ
На сайте с 29.09.2006
Offline
111
#28

Mmonger, на самом деле использовать русских комментариев вообще не стоит. К сожалению, сейчас уже не сохранился тот файл, с которым у меня были проблемы, но и XHTML и CSS были в UTF-8, в CSS я комментировал по русски (раньше так всегда делал), и вот IE мне выкинул фокус. Я уже не помню, что было, но что-то необъяснимое :) вполне в духе IE. Так что я больше с русскими комментариями не экспериментирую.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий