Алексей ([info]lanceon) wrote,

Системная ошибка: -1072896658

Отладка 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.

Устранить проблему можно следующими способами:

1) при перед созданием объекта xajax задать константу XAJAX_DEFAULT_CHAR_ENCODING с кодировкой, которая будет выдаваться по умолчанию во всех заголовках, выдаваемых через xajaxResponse:

define ('XAJAX_DEFAULT_CHAR_ENCODING', 'windows-1251');


2) задать кодировку в самом объекте xajaxResponse перед его возвращением:

$responseObject->setCharacterEncoding('windows-1251');


3) выдавать явно кодировку в http-заголовках ответа:

header('Content-Type: text/html; charset=windows-1251');

 

Tags: ajax, ie, ie bugs, javascript, php, xajax, браузеры, веб-разработка

  • Post a new comment

    Error

    Your IP address will be recorded 

  • 17 comments

Anonymous

March 21 2008, 17:16:35 UTC 4 years ago

большое спасибо за информацию - очень помогло!!!

Anonymous

March 26 2008, 14:55:50 UTC 4 years ago

спасиб!! выручил! попробуй блин сам до этого догодайся... я сначала испугался думал прейдётся отказаться от ajax'а... и на фреймы уходить... уффф..)))

Anonymous

April 20 2008, 10:26:22 UTC 4 years ago

спасибо!

Алексей! Гигантское спасибо! Я бы еще долго вылавливал неверно написанную в .htaccess кодировку (UTF8 вместо UTF-8).

Где тут кнопка donate? :)

Anonymous

April 24 2008, 06:59:48 UTC 4 years ago

Спасибо!

Большое спасибо! Очень помогло!

Anonymous

July 21 2008, 12:06:41 UTC 3 years ago

Большое спасибо!

Спасибо за полезную информацию. Дополнив скрипты строкой про заголовки решились все проблемы.

Anonymous

August 22 2008, 06:57:24 UTC 3 years ago

Большое спасибо! даже не знаю когда бы додумался до этого

Anonymous

November 19 2008, 08:00:10 UTC 3 years ago

про ажакс

спасибо ошибку одну устранил.

теперь если не возражаете еще вопрос.

использовал библиотеку cajax в своем сайте

при использовании на некоторых страницах элементы не работают. ошибок не выдается что может быть?

к примеру в основном теле файла работает как надо. в теле свитча не работает?

[info]lanceon

November 19 2008, 19:08:01 UTC 3 years ago

Re: про ажакс

С cajax работать не доводилось, но методика расследования ошибок стандартная:
- включить отладочный режим в библиотеке
- заглянуть в логи веб-сервера и/или лог ошибок php
- проверить, какие данные передаются в xml-запросе серверу и что возвращается в ответ, с помощью плагина к браузеру (livehttpheaders, tamperdata, iehttpheaders или аналогичным)
- проверить страницы на предмет отсутствия других ошибок в javascript (error console, firebug, ie developers toolbar и т.п.)
- проверить, нет ли в "серверных" скриптах преждевременного вывода данных.

[info]olyamax

November 21 2008, 16:48:03 UTC 3 years ago

спасибо.
несколько часов бились головой об стену.

(у нас помесь gwt+extgwt+php)

Anonymous

March 23 2009, 09:57:21 UTC 3 years ago

Спасибо

Медаль тебе!
Сайтов 30 перечитал, ничего не помогало, а вот это ШАСТЬЕ =)

[info]urfindjusse

April 8 2009, 12:39:40 UTC 3 years ago

Спасибо!

Anonymous

December 23 2009, 11:06:03 UTC 2 years ago

Дааа вот и фиг бы сам догадался когда, что IE не нравится запись "cp1251" в виде кодировки, а подавай ему только "windows-1251"... Спасибо!

Anonymous

January 12 2010, 16:49:13 UTC 2 years ago

Черт побери! ОГРОМНОЕ спасибо. Голову уже сломал. Особенно, с учетом, что из трех хостингов ошибка выскакивает только при загрузке на nic.ru
И впрямь, где тут кнопка donate? )))

[info]underjollyroger

March 25 2010, 10:13:50 UTC 2 years ago

Я решил голову не ломать, а сразу воспользоваться поиском :)
Та же самая фигня, только проблема решилась установкой правильной кодировки в .htaccess

AddDefaultCharset UTF-8 #До этого было utf8 :)

1. Кодировка выдается сервером.
2. Кодировка установлена в meta.
3. Кодировка установлена при выдаче страницы.

Если п.1 указан как неверно, например как у меня, utf8, то эксплорер через раз сбивает кодировку страницы + аякс не пашет вообще. Самое интересное, что сафари, хром, опера, мозила - работают как часы.

Выход установить как пишет автор, плюс .htaccess и мета для полной уверенности.

[info]lanceon

March 25 2010, 14:06:13 UTC 2 years ago

DefaultCharset можно установить даже на самом верхнем уровне в httpd.conf, но это уже по желанию, ведь на сервере могут быть сайты в разных кодировках.

Anonymous

April 28 2010, 13:46:17 UTC 2 years ago

Ошибка: системная ошибка: -1072896658

И где это прописывать?
Сколько ни пыталась все это прописать
1) при перед созданием объекта xajax задать константу XAJAX_DEFAULT_CHAR_ENCODING с кодировкой, которая будет выдаваться по умолчанию во всех заголовках, выдаваемых через xajaxResponse:

define ('XAJAX_DEFAULT_CHAR_ENCODING', 'windows-1251');


2) задать кодировку в самом объекте xajaxResponse перед его возвращением:

$responseObject->setCharacterEncoding('windows-1251');


3) выдавать явно кодировку в http-заголовках ответа:

header('Content-Type: text/html; charset=windows-1251');



, становится еще хуже!

[info]martovskiy

December 28 2010, 13:41:13 UTC 1 year ago

Спасибо!
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…