On Fri, Mar 27, 1998 at 04:19:54PM +0300, Jenya wrote:
>
> Apache/1.2.5 rus/PL22.2, Perl-5.004_1, mod_perl-1.08. Грабли: locale.
>
> Имеет место факт клинического игнорирования $ENV{'LC_CTYPE'}, независимо
> от того, выставляется хаш ручками или через PerlSetEnv, PerlPassEnv,
> PerlSetupEnv, а также независимо от того, компилируется скрипт при
> старте корневого сервера или на ходу, после форков. Тот же скрипт
> через CGI работает как часы.
>
> Причина оказалась проста: Perl при компиляции кода смотрит на живой
> environment, а не на хаш %ENV. Вопрос традиционный: что делать?
> Можно ли проблему решить конфигурежкой mod_perl'а, или заставить
> Apache не сносить environment? Ясное дело, mod_env (SetEnv и PassEnv)
> не катит, а очень хочется обойтись без напильника.
>
> PS. Наверняка же у всех это работает, а? :)
Не у всех. Я наступал на эти грабли в Linux. C FreeBSD почему-то нормально.
Разбираться стало лень -- проще поставить perl5.004_4, в котором уже
есть нормальный locale. то есть не через %ENV, а c setlocale(), который
работает.
"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.