Forum Webscript.Ru
Программирование => Perl => Тема начата: Biggelow от 27 Июля 2003, 08:59:15
-
Даю запрос через форму методом GET в строке пишет:
search.cgi?search=Asbestos+%FD%EA%F1%EF%EE%F0%F2&B3=%E8%F1%EA%E0%F2%FC&place=1
Обрабатываю параметры: $search=$cgi->param(\'search\');
Далее мне нужно перекинуть на один из 4-х скриптов в зависимости от того что выбрано. Делаю:
Location: search1.cgi?go&searchstring=Asbestos экспорт&sortby=date&type=exact&badstring=
Но " экспорт" получилось уже русскими символами. А не +%FD%EA%F1%EF%EE%F0%F2. Как сделать чтобы они не становились русскими до дальнейшей обработки?
-
use CGI qw(escape)
-
А как ей правильно пользоваться?
-
Например так:
my $cgi = new CGI;
my %query;
foreach ($cgi->param()) {
my $param = $cgi->param($_);
$query{$_} = $cgi->escape($param);
}
...
...
my $search = $query{search};
Хотя наверно можно и так:my $search = $cgi->escape($cgi->param(\'search\'));