Что-то кажется, мои письма в apache-rus не проходят -- пробую сюда.
Sincerely,
D.Marck [DM5020, DM268-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@xxxxxxxx ***
------------------------------------------------------------------------
---------- Forwarded message ----------
Date: Sun, 18 Jul 1999 10:28:16 +0400 (MSD)
From: Dmitry Morozovsky <marck@xxxxxxxx>
To: apache-rus@xxxxxxxxxxxxx
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@xxxxxxxx ***
------------------------------------------------------------------------
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.