Делал я тут как-то пое-чего на аяксе, передавал данные в
Все отлично работало пока я не решил протестить все в
Так вот, ничего не работало безовсяких ошибок (видимых). Покопавшись выяснил что
Поработав лобзиком и гуглем с полчаса методом тыка выяснил что:
JSON'е, кодировка всего на сайтине — cp1251. Дабы не изобретать велосипед использовал jQuery.Все отлично работало пока я не решил протестить все в
IE. IE у меня седьмой версии, в других не проверял пока, но по-моему там та же фича.Так вот, ничего не работало безовсяких ошибок (видимых). Покопавшись выяснил что
jQuery возвращает parsererror. Покопавшись глубже выяснил что транспорт выпадает с эксепшеном при доступе к полю responseText а поле responseXML содержит пустой документ (что естественно, данные передаются текстом).Поработав лобзиком и гуглем с полчаса методом тыка выяснил что:
- ежели кодировка с заголовках стоит не
utf-8IEотказывается работать абсолютно;
тип контентаapplication/ajaxиapplication/x-javascriptтоже не рулят.
В общем в конце концов стал выдавать заголовокContent-type: text/plain; charset=utf-8и перекодировать все вutf-8(благо сiconvэто вышло тремя строчками).
Нет, я конечно читал чтоIEне дружит с виндовой же кодировкойcp1251но пока разобрался ;)
Люди! Не повторяйте чужих ошибок :)
UPD
Мда, посыпаю голову пеплом. Оказалось, что все довольно неплохо исправляется заменой кодировкиcp1251наwindows-1251:) Спасибо за совет.
