Что-то кажется, мои письма в apache-rus не проходят -- пробую сюда.
Sincerely,
D.Marck [DM5020, DM268-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru ***
------------------------------------------------------------------------
---------- Forwarded message ----------
Date: Sun, 18 Jul 1999 10:28:16 +0400 (MSD)
From: Dmitry Morozovsky <marck@rinet.ru>
To: apache-rus@lists.lexa.ru
Subject: encoding URL: localized version needed
Привет.
В CGI.pm имеем функцию
# URL-encode data
sub escape {
shift() if ref($_[0]) || $_[0] eq $DefaultClass;
my $toencode = shift;
return undef unless defined($toencode);
$toencode=~s/ /+/g;
$toencode=~s/([^a-zA-Z0-9_.+-])/uc sprintf("%%%02x",ord($1))/eg;
return $toencode;
}
Беда в том, что она эскейпит все русские буквы, посему перестает работать
перекодировка (при посылке параметров к скрипту, например).
Попытки переделать предпоследнюю строку в
s/([^\w_.+-])/uc ...
...ничего в ситуации не меняют. Попытка использовать POSIX qw(locale_h) --
ничего не меняет. Где грабли?
Sincerely,
D.Marck [DM5020, DM268-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru ***
------------------------------------------------------------------------
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =