On Fri, 23 Oct 1998, Alex Tutubalin/Apache-RUS team wrote:
> Привет,
>
> у меня кризис жанра - никак не могу решить, какое Perl API будет хорошим.
>
> Сойдет ли такое:
> use Apache::Charset;
> my $recoder = new Apache::Charset;
> print "mod_charset is turned off or not configured" unless $recoder->is_ok;
> print $recoder->server_charset;
А что сделать перекодировщик с явным указанием to и from сharset
мешает что-то в существующем русском апаче?
На мой взгляд возможность использования не тех кодировок которые указаны
в environment является одной из самых нужных вещей в API.
Например, делаешь скрипт с CharsetDisable On
и пишешь в нем:
for $charset ($recoder->charsets) {
print $recoder->recode($ENV{'CHARSET_SOURCE_ENC'},$charset,
"<A HREF=\"/$charset/$ENV{'SCRIPT_URL'}\">".
"Если вы
можете прочитать это, то вам сюда</a><br>");
]
> print $recoder->client_charset;
> $scalar = $recoder->server2client($some_scalar);
> $scalar = $recoder->client2server($some_scalar);
> $scalar = $recoder->server2client_esc($some_scalar);# returns %aa-escaped string
А вот это - типичное "Выкрасить и выбросить"
Если, конечно, в C-шном
коде такая функция уже есть, то грех не воспользоваться.
Но тогда стоило бы и обратную функцию завести.
> @charsets=$recoder->charsets; # returns lists of charsets, known by server
А
@aliases=$recoder->aliases($charset) ?
Еще стоит позаботиться о том, чтобы recoder можно было унаследовать.
Я тогда сразу же допишу в него чисто перловую перекодировку из Utf-8.
>
>
> Alex
>
--------------------------------------------------
Victor Wagner vitus@ice.ru
Programmer Office:7-(095)-333-2022
Institute for Commerce Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus
"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.