ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] encoding URL: localized version needed (fwd)



Что-то кажется, мои письма в 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                 =



 




Copyright © Lexa Software, 1996-2009.