Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.04.2010, 11:05
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Gvozd
глянь как в библиотеке URL-кодируется параметр
в самом коде jQuery же!
Сообщение от Gvozd
посмотри стандартные URL-кодировщики
http://javascript.ru/manual/method
Сообщение от Gvozd
а потом если все не катит, напиши свой URL_кодер с блек-джеком, шлюхами, и KOI8-R
http://javascript.ru/String
PS забыл о самом простом решении - серверный iconv же
Ответить с цитированием
  #12 (permalink)  
Старый 29.04.2010, 11:15
Аспирант
Отправить личное сообщение для GRIG Посмотреть профиль Найти все сообщения от GRIG
 
Регистрация: 26.03.2010
Сообщений: 55

Чем дальше, тем все чудесатее и чудесатее...
1) Думал, что вся эта история - глюк старой версии JQuery (у меня 1.3.2). Сходил на официальный сайт и утянул к себе 1.4.2 - мой скрипт вообще перестал работать. Утянул 1.4 - работоспособность так и не восстановилась. Что за хрень???????
2) Взял отладочную версию 1.3.2 и пошел по ней в FireBug'е трассировкой. Результат такой: для отсылки информации на сервер JQuery создает объект типа XMLHttpRequest и применяет его метод send(). Перекодировка URLа идет внутри этого метода. А исходники этого метода не доступны, так что выяснить, почему он так нехорошо себя ведет, невозможно.

Что касается предложения использовать iconv() на сервере. Считаю такой вариант неудачным. Потому что для этого сервер должен знать, в какой кодировке приходят данные от броузера, при том, что броузер про это ничего не говорит. Так что я бы предпочел iconv() на броузере (если такое вообще возможно)
Ответить с цитированием
  #13 (permalink)  
Старый 29.04.2010, 11:27
Аспирант
Отправить личное сообщение для GRIG Посмотреть профиль Найти все сообщения от GRIG
 
Регистрация: 26.03.2010
Сообщений: 55

UPD. Проблема решилась путем замены вот этого:
$.getJSON( 'myscript.php?page=1' + form_data, { }, myfunc() );

на вот это:
$.getJSON( 'myscript.php?page=1' + encodeURI( form_data ), { }, myfunc() );

И, естественно, на стороне сервера нужен iconv() для преобразования UTF8 -> KOI8-R
Ответить с цитированием
  #14 (permalink)  
Старый 29.04.2010, 11:30
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от GRIG
JQuery создает объект типа XMLHttpRequest и применяет его метод send(). Перекодировка URLа идет внутри этого метода. А исходники этого метода не доступны, так что выяснить, почему он так нехорошо себя ведет, невозможно.
жжоте!
это "родной" метод JavaScript-а
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с кодировкой nikolaich ExtJS 9 04.02.2010 13:30
проблема с кодировкой bushstas AJAX и COMET 7 03.10.2009 00:48
Проблема с кодировкой в скрипте автозаполнения Maratka AJAX и COMET 12 24.01.2009 12:31
Проблема с кодировкой magistr_bender Общие вопросы Javascript 2 07.09.2008 20:04
Проблема с кодировкой. SunYang Общие вопросы Javascript 12 05.08.2008 14:40