Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Посылка CGI- скрипту методом GET (+)  (Прочитано 11250 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Anonymous
Гость
« : 29-09-2004 09:32 » 

Всем привет!

У меня проблема возникла совершенно неожиданно!
Оказывается, если послать русскими буквами методом GET, а точнее в URL строке браузера написать что-то типа :
http://www.yandex.ru/yandsearch?&stype=www&text=Привет
то не факт что в скрипт придет этот "Привет", а придет какая нибудь хрень типа "aa?a:a"!
Дело в том что URL запрос организуется в JavaScripte, а не методами FORM! Если через submit FORM то всё окей там строка кодируется через %20%EF и все окей!
Пробовал через escape (JavaScript) но он кодирует не так :
%u2030%u49EF !

Вот такая вот проблема!
Записан
Skubent
Гость
« Ответ #1 : 09-10-2004 17:18 » 

IMHO, данные, получаемые от пользователя, всяко надо через INPUT'ы получать, а все остальное латиницей можно сделать...

А если уж сильно прибило, покопай в сторону наличия urldecode() в JS, я никогда не заморачивался, а мануала под рукой нету.
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #2 : 09-10-2004 20:07 » 

тебе JS строку в юникоде подсовывает. Попробуй её в обычную перекодировать или научи JS в обычнойкодировке слать
Записан

Странно всё это....
Anonymous
Гость
« Ответ #3 : 11-10-2004 04:18 » 

Все! Разрулил ситуацию:

function encoderus(EntryTXT) {
  var text = "";   
  var Ucode;
  var ExitValue;
  var s;
 
  for (var i=0; i<EntryTXT.length; i++) {
 
    s= EntryTXT.charAt(i);
    Ucode = s.charCodeAt(0);
    var Acode = Ucode;
    if (Ucode > 1039 && Ucode < 1104){
      Acode -= 848;
      ExitValue = "%" + Acode.toString(16);         
    }
    else  
    if (Ucode == 1025) {
      Acode = 168;
      ExitValue = "%" + Acode.toString(16);         
    }
    else  
    if (Ucode == 1105){
      Acode = 184;
      ExitValue = "%" + Acode.toString(16);         
    }
    else
    if (Ucode == 32){
      Acode = 32;
      ExitValue = "%" + Acode.toString(16);         
    }
    else
     ExitValue=s;         
     
   text = text + ExitValue;

  }      
    return text;
}
Записан
Skubent
Гость
« Ответ #4 : 11-10-2004 08:46 » 

Ну вот примерно так и должно быть... Хотя хоть убей не понимаю, зачем надо русский текст GET'ом отдавать...
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #5 : 11-10-2004 08:59 » 

Цитата: Skubent
Ну вот примерно так и должно быть... Хотя хоть убей не понимаю, зачем надо русский текст GET'ом отдавать...

Skubent, могу предположить, что для передачи каких нить названий картинок Улыбаюсь Где то я видел такое Улыбаюсь
ИМХО это гемморой, и такие вещи лучше всего передавать постом, либо хранить в сессии.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Skubent
Гость
« Ответ #6 : 12-10-2004 08:26 » 

Цитата: MOPO3
Skubent, могу предположить, что для передачи каких нить названий картинок Улыбаюсь Где то я видел такое Улыбаюсь
ИМХО это гемморой, и такие вещи лучше всего передавать постом, либо хранить в сессии.


Эээ... Названия картинок на русском ? Мдям-с...
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 12-10-2004 08:39 » 

Цитата: Skubent
Эээ... Названия картинок на русском ? Мдям-с...

Улыбаюсь Вот тебе и Мдям-с... Улыбаюсь Я сам удивился когда увидел Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines