Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> русские буквы в запросе, AJAX + mootools 
V
    Опции темы
Samotnik
Дата 23.4.2009, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



привет 
такая проблема
есть AJAX апрос на сервер через mootools
Код

search.prototype._sentRequest = function _sentRequest(query, f) {    
    var req = new Request.JSON({
            method:'post',    
            url: 'search_str.php',
            onSuccess: f,
            onFailure: f
        }).get({'q' : query});    
}

он успешно работает с английскими буквами (запрос такого рода происходит  http://myserver.by/eng/search_str.php?&q=f)
но с русскими буквами не работает, происходит автоматическая кодировка в юникод и почему-то добавляется лишний символ, т.е. запрос такого рода получается
ПРИМЕР : 
отправляю русскую букву а
адрес вот такой формируется
http://myserver.by/eng/search_str.php?&q=%D0%B0
вместо
http://myserver.by/eng/search_str.php?&q=%D0
т.е. добавляется почему то в конце доп символ, изза которого ничего естессно и не работает. 
Вопрос. КАК это побороть ?   smile 
 smile 
PM MAIL   Вверх
Samotnik
Дата 23.4.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Добавил функцию перекодировки encodeURIComponent()
Код

 }).get({'q' : encodeURIComponent(query)});  

еще хуже стало 
Буква д превратилась в   %25D0%25B4
http://myserver.by/eng/search_str.php?&q=%25D0%25B4
 smile  smile   smile  smile 
Что это такое за фокусы ?  smile   smile  smile  smile 
PM MAIL   Вверх
ksnk
Дата 23.4.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

$s="%D0%B0";
echo iconv('utf-8','cp1251//ignore',urldecode($s));

?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Samotnik
Дата 23.4.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



ksnk, в том то и фишка, что кодирует JavaScript а не сервер.  smile 
PM MAIL   Вверх
yeputons
Дата 23.4.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 1.4.2009
Где: Санкт-Петербург

Репутация: нет
Всего: 5



Этот символ не лишний. Попробуй такие запросы в гугл:
http://www.google.ru/search?q=%D0%B0&i...-8&oe=utf-8
и
http://www.google.ru/search?q=%D0&ie=utf-8&oe=utf-8
В первом случае выдаёт "а", во втором говорит, что не удалось опознать символ (выдаёт вопросик).
PM MAIL ICQ Skype   Вверх
Samotnik
Дата 23.4.2009, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Цитата(yeputons @  23.4.2009,  19:37 Найти цитируемый пост)
Этот символ не лишний. Попробуй такие запросы в гугл:

ну я очень рад  smile 
а как проблему решить ? у меня на сервер летит билиберда которая пытается сравнится с тем кодом. и естессно ничего ненаходит нужного
PM MAIL   Вверх
yeputons
Дата 23.4.2009, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 1.4.2009
Где: Санкт-Петербург

Репутация: нет
Всего: 5



1)перекодируй на сервере код в юникод (пр. прощения за каламбур) - самый простой способ
2)можешь попробовать поковырять .htaccess на тему того, куда перед выполнением перекодировать скрипт с кодами/запрос. но имхо первый способ лучше)

Это сообщение отредактировал(а) yeputons - 23.4.2009, 19:43
PM MAIL ICQ Skype   Вверх
Samotnik
Дата 23.4.2009, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



2 all
всем пасибо, вопрос решен 
ksnk, пасибо, я просто пхп не знаю, потому затупил, твоя строчка вродь прокатила  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.