Проблема с кодировкой при работе с Subsys_JsHttpRequest

akxxiv

Новичок
Проблема с кодировкой при работе с Subsys_JsHttpRequest

Проблема такая- при использовании данного класса в IE возникает проблема с русскими буквами. Это связано с ИЕшной реализацией XMLHttpRequest.
Но скорее всего проблема с серверными настройками, т.к. на dklab все работает нормально, а те же скрипты на моем компе не правильно трактует русские буквы. Я уже переустановил РНР- посставил его с iconv. Хотя Дмитрий Котеров писал, что там встроенная поддержка windows-1251.
Кто-нибудь сталкивался с этой проблемой? Как решили?
 

Zh0rzh

Новичок
Может лучше спросить у самого Дмитрия Котерова?

У меня все нормально работает.
 

phprus

Moderator
Команда форума
При создании объекта библиотеки
$JsHttpRequest =& new Subsys_JsHttpRequest_Php("windows-1251");
кодировку правильно прописал? те windows-1251 или что-то другое? В какой кодировке у тебя страница которая использует Subsys_JsHttpRequest?
 

akxxiv

Новичок
На странице, которая использует Subsys_JsHttpRequest
<META http-equiv="Content-Type" content="text/html; charset=windows-1251" />

В файле загрузчика
$JsHttpRequest =& new Subsys_JsHttpRequest_Php("windows-1251");

Да я даже просто тупо скопировал файлы на свой комп, запустил, таже хрень. Отключаешь АктивИкс, все работает. А с ним вылетает кодировка. Ни чего не понимаю.
 

Onizuka

Новичок
Так как в IE 5.0 XMLHttpRequest с кодировкой windows-1251 в любом случае не работает лучше перейти на utf-8. Кодировка страницы, которая использует библиотеку вроде бы значения не имеет.

Я делал в начале скрипта:
PHP:
$JsHttpRequest =& new Subsys_JsHttpRequest_Php("utf-8"); 
array_walk_recursive($_REQUEST, 'utf2win');
В конце:
PHP:
array_walk_recursive($_RESULT, 'win2utf');
 

akxxiv

Новичок
Спасибо.

-~{}~ 05.10.05 11:57:

Автор оригинала: Onizuka
Так как в IE 5.0 XMLHttpRequest с кодировкой windows-1251 в любом случае не работает лучше перейти на utf-8. Кодировка страницы, которая использует библиотеку вроде бы значения не имеет.

Я делал в начале скрипта:
PHP:
$JsHttpRequest =& new Subsys_JsHttpRequest_Php("utf-8"); 
array_walk_recursive($_REQUEST, 'utf2win');
В конце:
PHP:
array_walk_recursive($_RESULT, 'win2utf');
Вопрос! А как заставить скрипт передавать данные в обработчик в utf-8? Ведь для того, чтобы преобразовать
array_walk_recursive($_REQUEST, 'utf2win'); $_REQUEST - то должен быть в utf-8? Или я что-то не понимаю?
 

Onizuka

Новичок
Массивы $_GET, $_POST, $_REQUEST создаются конструктором объекта $JsHttpRequest согласно указанной в нем кодировке. Если нужны подробности - смотри исходники - я этим не интересовался.
 
Сверху