|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.01.2019, 16:50 | #1 |
Регистрация: 24.01.2019
Сообщений: 7
|
Перекодировать переменную из GET-запроса
Всем привет!
Нужно перекодировать в pl-файле переменные из полученного GET-запроса. Желательно сам GET-запрос, т.е. оставить в GET переменные, но уже в др кодировке. Из utf-8 > windows-1251 Скрипт далее сам эти переменные использует. В перл не разбираюсь. Кто-то может подсказать? Заранее большое спасибо! |
24.01.2019, 16:59 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Код:
|
24.01.2019, 17:21 | #3 |
Регистрация: 24.01.2019
Сообщений: 7
|
Я эту строку знаю, спасибо. Но как это сделать с GET-запросом? Что вписывать вместо $unicodeTextHere ? И чтобы оно обратно вернулось в GET, только уже в др кодировке.
|
24.01.2019, 17:34 | #4 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
Код:
|
|
24.01.2019, 17:35 | #5 |
Регистрация: 24.01.2019
Сообщений: 7
|
php - есть такое - $_GET['parametr']
Как сделать в перл? P.S. В param('param_name') получается, но ниже скрипт использует переменные из GET (скрипт не мой, я в перл не понимаю), потому нужно перекодировать именно сам GET Последний раз редактировалось Vodoleev; 24.01.2019 в 17:38. |
24.01.2019, 17:36 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Вы выше пост видели?
|
24.01.2019, 18:02 | #7 |
Регистрация: 24.01.2019
Сообщений: 7
|
Да, видел.
use CGI; my $q = CGI->new; my $unicodeTextHere = $q->param('q'); use Encode; Encode::from_to($unicodeTextHere, 'utf-8', 'windows-1251'); В итоге перекодировали $unicodeTextHere А мне нужно, чтобы переменная $_GET['q'] стала в кодировке windows-1251. Как передать из $unicodeTextHere обратно в $_GET['q'] ? В этом вопрос Или это невозможно? |
24.01.2019, 18:04 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Код:
|
24.01.2019, 18:06 | #9 |
Регистрация: 24.01.2019
Сообщений: 7
|
Или вот кусок кода:
if (exists $ENV{'REQUEST_METHOD'}) { if($ENV{'REQUEST_METHOD'} eq 'GET') { $query_str=$ENV{'QUERY_STRING'}; } elsif($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $query_str, $ENV{'CONTENT_LENGTH'}); } } else { foreach my $arg (@ARGV) { $arg =~ m|-(.*?)=(["']?)(.*)\2|; $query_str .= "$1=$3&"; } chop($query_str); } my %query = parse_query($query_str); Просто в лоб после $query_str=$ENV{'QUERY_STRING'}; перекодировка Encode::from_to($query_str, 'utf-8', 'windows-1251'); не работает. Может тут проще перекодировать? |
24.01.2019, 18:08 | #10 |
Регистрация: 24.01.2019
Сообщений: 7
|
Это массив переменных GET в php. В перле наверное так нельзя, потому что у меня не получает в лоб перекодировать путем вставки
Encode::from_to($_GET, 'utf-8', 'windows-1251'); или Encode::from_to($_GET['param'], 'utf-8', 'windows-1251'); |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
результат post-запроса в переменную | Mortimoro | JavaScript, Ajax | 6 | 21.10.2014 21:11 |
результат запроса записать в переменную | hunter03 | Помощь студентам | 3 | 08.10.2012 20:50 |
Результат запроса в переменную | $T@LKER | C# (си шарп) | 10 | 29.03.2011 18:17 |
результат запроса в переменную..Как? | Iber | Общие вопросы .NET | 1 | 01.11.2009 04:18 |
Результат запроса sql в переменную | dll32 | БД в Delphi | 9 | 26.05.2009 15:02 |