войти зарегистрироваться

Web-разработкаЛучшая кодировка. UTF-8 vs cp1251

Идеологическая борьба между сторонниками cp1251 и utf8 длится уже давно. Сам не раз сталкивался с разногласиями между разработчиками по поводу того, какую кодировку использовать. Захотелось наконец расставить точки над “и”. Причем хочется все достаточно хорошо обосновать, чтобы не возникало сомнений в моей голословности.

Блог им. godsdogAJAX, IE и CP1251

Делал я тут как-то пое-чего на аяксе, передавал данные в JSON'е, кодировка всего на сайтине — cp1251. Дабы не изобретать велосипед использовал jQuery. Все отлично работало пока я не решил протестить все в IE. IE у меня седьмой версии, в других не проверял пока, но по-моему там та же фича.

Так вот, ничего не работало безовсяких ошибок (видимых). Покопавшись выяснил что jQuery возвращает parsererror. Покопавшись глубже выяснил что транспорт выпадает с эксепшеном при доступе к полю responseText а поле responseXML содержит пустой документ (что естественно, данные передаются текстом).

Поработав лобзиком и гуглем с полчаса методом тыка выяснил что:

  1. ежели кодировка с заголовках стоит не utf-8 IE отказывается работать абсолютно;
  2. тип контента application/ajax и application/x-javascript тоже не рулят.

В общем в конце концов стал выдавать заголовок Content-type: text/plain; charset=utf-8 и перекодировать все в utf-8 (благо с iconv это вышло тремя строчками). Нет, я конечно читал что IE не дружит с виндовой же кодировкой cp1251 но пока разобрался ;)

Люди! Не повторяйте чужих ошибок :)

UPD

Мда, посыпаю голову пеплом. Оказалось, что все довольно неплохо исправляется заменой кодировки cp1251 на windows-1251 :) Спасибо за совет.

УбунтариумКое-что о проблемах с кодировками в убунту.

Я не ставил себе цель решить все проблемы, но хотел написать решения, о которых не писалось на хабре.
В основном коснусь кодировок в icq.

Блог им. surkovaEncoding

После того, как я отказалась от использования Microsoft Windows XP в пользу Mac OS X, у меня осталась едиственная просьба к дяде Биллу: сделайте в своей ОС дефолтом кодировку UTF-8, как во всех остальных системах, и претензий у меня к вам больше не останется! Ибо ничто не дает лучше понять людям друг друга в сети, как единство кодировки.

PS: Плюсом для всех будут конечно мелочи по тегированию песен, и, например, кодировок на ftp-серверах. В остальном вин меня не очень интересует.