Отладка javascript-ов в IE обычно вызывает в сознании массу непечатных слов в адрес его разработчиков. Эта заметка посвящается тем, кто сталкивался с невразумительной ошибкой, выдаваемой Internet Explorer-ом при использовании Ajax с php-библиотекой xajax:
Ошибка: системная ошибка: -1072896658 или Error: system error: -1072896658
Ошибка возникает из-за того, что в ответе серверверного скрипта в заголовках HTTP указана кодировка, которую Internet Explorer не может распознать. Например, cp1251 (вместо windows-1251), или utf8 (вместо UTF-8). Названия кодировок должны быть в соответствии со стандартами IE, а не так, как можно было бы предположить. Посмотреть список поддерживаемых кодировок можно на msdn: Character Set Recognition.
Ошибка возникает из-за того, что в ответе серверверного скрипта в заголовках HTTP указана кодировка, которую Internet Explorer не может распознать. Например, cp1251 (вместо windows-1251), или utf8 (вместо UTF-8). Названия кодировок должны быть в соответствии со стандартами IE, а не так, как можно было бы предположить. Посмотреть список поддерживаемых кодировок можно на msdn: Character Set Recognition.
Устранить проблему можно следующими способами:
- перед созданием объекта xajax задать константу XAJAX_DEFAULT_CHAR_ENCODING с кодировкой, которая будет выдаваться по умолчанию во всех заголовках, выдаваемых через xajaxResponse:
define (’XAJAX_DEFAULT_CHAR_ENCODING’, ‘windows-1251′);
- задать кодировку в самом объекте xajaxResponse перед его возвращением:
$responseObject->setCharacterEncoding(’windows-1251′);
- выдавать явно кодировку в http-заголовках ответа:
header(’Content-Type: text/html; charset=windows-1251′);
—
От себя добавлю что встречался с этой ошибкой когда хотел познакомиться с jQuery и в .htaccess имел неверно прописанную с точки зрения IE кодировку (UTF8 вместо UTF-8).
Взято здесь (надеюсь Алекс не против :))