Rambler's Top100
Максим Покровский

— Привет, меня зовут Максим Покровский. Вы находитесь в моем рабочем кабинете. Поскольку я фрилансер, будем считать, что именно так он и выглядит. Здесь я пишу много интересных вещей, и если вы почувствовали, что я именно тот человек, который вам нужен, то я всегда открыт для контакта.



Сейчас работаю над:


  • Техническая поддержка popsop.ru( url )

    Текущий статус - изменнение функционала шаблона.

  • Разработка интерфейса для Korv ( url, design )

    Текущий статус - мелкие доработки графического интерфейса.

Заказать мне работу
04.05

Кирилица в комментариях

Комментарии (13) CSS

Кириллица
Столкнулся с проблемной обработкой кириллических комментариев CSS в IE 6.

.ff{
   color:green; /*Кириллический комментарий*/
   }
   
.ie6{
   display:none;
   color:red;
   }

Такая запись будет работать в IE6 некорректно. Все, что ниже кириллического комментария не будет интерпретироваться IE6. Происходит это из-за несоответствия кодировок. Повальное большинство редакторов создают css файлы, в кодировке windows - 1251, а почти все разработчики добавляют в html:

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

и правильно делают между прочим. Так что если вам приспичило писать комментарии на русском (например заказчик попросил),то просто переведите ваш css в формат UTF-8.

Метки:, , , , , ,

Комментарии

  1. 1
    Аноним (04.05.2008) #

    [...] Zen Of Internet Marketing wrote an interesting post today onHere’s a quick excerpt Столкнулся с проблемной обработкой кириллических комментариев CSS в IE 6. .ff{ color:green; /*

  2. 3
    pepelsbey (04.05.2008) #

    …правда, очень странно, что IE вообще есть какое-то дело до того, какие символы находятся внутри комментариев. Ишь, любопытный…

  3. 4
    Здыхлик (05.05.2008) #

    Заголовок “новости” бы поправить - глаза режет

  4. 5
    Zigzag (05.05.2008) #

    pepelsbey, кстати, я раньше нашел этот баг и у Юры консультировался по поводу него =)

  5. 6
    Максим Покровский (06.05.2008) #

    2Здыхлик, какие “новости”?

  6. 7
    Максим Покровский (06.05.2008) #

    pepelsbey, не все же знают об этом баге.

  7. 8
    Vladimir (14.05.2008) #

    …правда, очень странно, что IE вообще есть какое-то дело до того, какие символы находятся внутри комментариев.

    На самом деле, дело есть. Особенно, если вспомнить, как осуществляется кодирование в UTF-8. Кириллица в cp1251 - это верхняя часть таблицы ASCII (> 0×80), поэтому ничего удивительного, что парсер обламывается, не сумев правильно декодировать символы, не являющиеся символами UTF-8. В соответствии с пунктами 4.4 и 4.2 IE (будь не к ночи помянут) поступает правильно (User agents must ignore style sheets in unknown encodings).

    Как говорится, “читайте спецификацию, там всё написано”.

  8. 9
    Максим Покровский (14.05.2008) #

    Спецификаций как грязи. Есть ссылка? Было бы любопытно почитать, я еще такой инфы не встречал.

  9. 10
    Vladimir (14.05.2008) #

    Раздел 4.2 спецификации CSS: http://www.w3.org/TR/CSS21/syndata.html#parsing-errors
    Раздел 4.4 спецификации CSS: http://www.w3.org/TR/CSS21/syndata.html#charset

    Фраза “User agents must ignore style sheets in unknown encodings” находится перед подразделом 4.4.1.

    А еще можно попробовать открыть stylesheet в cp1251 в FireFox и принудительно заставить его использовать для отображения UTF-8. Тогда будет видно, теряется ли закрывающая часть комментария или нет :-) Ибо /* русский текст */ /* */ в IE срабатывает нормально.

  10. 11
    Nikita (16.05.2008) #

    Хорошо, что я пользуюсь TexMate который по-умолчанию предлагает кодировку utf-8 для текстовых файлов.

  11. 12
    Максим Покровский (16.05.2008) #

    Хорошо, что я пользуюсь TexMate который по-умолчанию предлагает кодировку utf-8 для текстовых файлов.

    for Mac?

  12. 13
    Nikita (16.05.2008) #

    Ага.
    Для Винды есть похожий редактор http://www.e-texteditor.com/

Оставить комментарий

Вы можете использовать простые теги форматирования HTML (вроде <a>, <ul> and others). Чтобы вставить пример код, используйте
<code lang="php">$a = "hello";</code> (поддерживаемые языки: ruby, php, yaml, html, css, csharp, javascript). Также Вы можете использовать <code>$a = "hello";</code>, синтаксис не будет подсвечен. Если вы не хотите использовать тег <code>, замените символ < на &lt;



— Люди делятся на заказчиков и тех, кто может ими стать.
(девиз успешного фрилансера)