Заголовок сообщения: Странный баг в IE 6.0 при изменении кодировки страницы. Добавлено: 11 Декабрь 2006, 19:48:18
Собственно вот страничка с кодировкой UTF-8, в IE 6.0 списки перестают видеть CSS sad
http://ilkofood.com/index.php/en/home А вот она же но без всяких кодировок, ведет себя также, как при выставленной cp1251
http://makets.lovata.com/ilkofood.com/en/index.html По аське уже кучу народу поспрашивал, никто не может мне помочь. Вы моя последняя надежда wink. Заранее благодарен.
_________________ OnlyGODcan judge me!
Последний раз редактировалось Zigzag 11 Декабрь 2006, 20:23:14, всего редактировалось 1 раз.
ТВЭЛ, ну допустим у меня все страницы всех сайтов в ютф-8, ибо к душе лежит и на мобильнике читается не кракозябрами, а все стили в анси и всё прекрасно дружит... м?
Kirill L., у вас дружит, а вот у человека проблемы возникли, как видите. Просто я посмотрел CSS - он не в UTFе, хотя должен был бы. Надо попробовать устранить этот непорядок, если непоможет, тогда уже дальше думать.
tentoys, откройте в любом текстовом редакторе, даже в виндовсовском блокноте стандартном, и при сохранении будет видно, в каком формате файл. Ну а нормальный текстовый редактор сразу позволяет выбрать кодировку.
Я уже забыл про эту тему, но буквально 10 минут назад сам попался. Мучался минуты три, пока дошло, в чем дело. Кстати, тоже только в Эксплорере проблема появлялась, только на этот раз она отразилась на свойствах цвета бэкграунда и текста, почему-то.
Я вот смотрю, судя по ссылкам, что автор так и не решил свою беду, а зря он сюда не заглядывает. Всего лишь сохранение таблицы стилей в правильной кодировке решит его проблему.
TopStile оказывается мне так говняет :( открываешь CSS в уникоде чтобы что-то подправить, сохраняешь, а он уже ANSI. Гадство.
P.S. Хотя нет, зря грешу на "Топстайл". Все в UTF, просто "блокнот" не может понять, что это уникод, если в начале файла нет метки.
P.P.S. &%@ медная :( не зря, все-таки. То в уникоде сохраняет, то нет - непонятно, чего ему надо. Похоже ему русские комментарии ненравятся.
[quote="ТВЭЛ] откройте в любом текстовом редакторе, даже в виндовсовском блокноте стандартном, и при сохранении будет видно, в каком формате файл. Ну а нормальный текстовый редактор сразу позволяет выбрать кодировку.[/quote]
Мне хотелось бы осмыслить и определить, что мы говорим об одном и том же. Маленький вопрос: будет ли английский текст (первые 128 таблицы ASCII) одинаково читаться в кодировке UTF-8 (будучи закодированным из юникодовой строки к примеру
Код:
U+0048 U+0065 U+006C U+006C U+006F
и других? Мне почему-то кажется, что будет. Теперь второй маленький вопрос: в css файле исползуется ли какой другой язык, простите, символы, кроме английского? Наверное, нет. Исходя из этого, нет большого смысла обращать внимание на кодировку. Нет, я не призываю не обращать на это внимание, конечно, unicode поможет забыть о возможных проблемах, но скорее всего проблема топикстартера несколько в другом. Кстати, если в хтмл-файле можно насильно прописать кодировку, типа
то сомневаюсь, что для css-файла можно прописать аналогичное А вот ответ автора данного топика о том, помогло ли ему сохранение css-файла в txt в кодировке UTF-8 (или -7) было бы интересно увидеть.
tentoys, так взяли бы из любопытства сохранили файл, и проверили. Я вот проверил. Проблем действительно теоретически быть не должно, но ведь почему-то бывают глюки. А все потому, что браузер не обязан вести себя предсказуемо, если его путают разными кодировками. Читаем спецификацию CSS (пункт 4.4), где ясно написано, что кодировка стилевой таблицы должна соответствовать кодировке HTML-документа.
vashurin, привет, рад видеть тебя здесь Мир тесен.
ТВЭЛ, огромное спасибо, проблема действительно решилась, когда я сохранил файл css utf-8 в кодировке, удивительно, сколько литературы и статей перечитал, но такого никогда не встречал. еще раз спасибо.
vashurin, и вам спасибо, тож на всякий случай убрал русские комменты из файла, вечером разберусь, что именно помогло из этих двух советов. =)
так взяли бы из любопытства сохранили файл, и проверили. Я вот проверил. Проблем действительно теоретически быть не должно, но ведь почему-то бывают глюки. А все потому, что браузер не обязан вести себя предсказуемо, если его путают разными кодировками. Читаем спецификацию CSS (пункт 4.4), где ясно написано, что кодировка стилевой таблицы должна соответствовать кодировке HTML-документа.
Я бы проверил, когда б возникли проблемы. Но у меня их нету По поводу браузера -- если его путают, то он должен вести себя предсказуемо. Читаем спецификацию (п.4.4.), там как раз ясно написано, что таблицы не должны соответствовать кодировке хтмл документа. Там немного иное написано:
Цитата:
A CSS style sheet is a sequence of characters from the Universal Character Set (see [ISO10646]). For transmission and storage, these characters must be encoded by a character encoding that supports the set of characters available in US-ASCII (e.g., UTF-8, ISO 8859-x, SHIFT JIS, etc.).
И ещё, про отдельный css файл (если стиль включён в хтмл документ, то стилевые правила имеют кодировку собственно документа):
Цитата:
When a style sheet resides in a separate file, user agents must observe the following priorities when determining a style sheet's character encoding (from highest priority to lowest):
An HTTP "charset" parameter in a "Content-Type" field (or similar parameters in other protocols) BOM and/or @charset (see below) <link charset=""> or other metadata from the linking mechanism (if any) charset of referring style sheet or document (if any) Assume UTF-8 Authors using an @charset rule must place the rule at the very beginning of the style sheet, preceded by no characters. (If a byte order mark is appropriate for the encoding used, it may precede the @charset rule.)
Если имеются симовлы, отсутстующие в соответствующей кодировке, то необходимо использовать UTF-8. О чем я и писАл выше -- разве в css-файле используются для правил русский (или армянский или, скажем, греческий) язык? Нет. А если нет, то как я цитировал выше, следует использовать encoding that supports the set of characters available in US-ASCII. Т.е., ASCII подходит. Идём чуть дальше и видим, что
Цитата:
Первая половина набора ANSI называется ASCII. ANSI N и ASCII N - это одно и то же только при значениях N от 0 до 127 (при больших N обозначение ASCII N не имеет смысла). При этом имеет место терминологическая неточность: если содержимое файла должно трактоваться как набор ANSI-символов (например, текстовый файл), то он называется ASCII-файлом.
Соответственно, ANSI также допустимо, ага. Если Zigzag убрал русские символы из css файла и проблема решилась, то всё отлично. Мне кажется, собака порылась именно тут.
Поправьте, если я неправ.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.