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