Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

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

Re: [apache-rus] Apache::Charset



On Mon, Jul 24, 2000 at 12:39:22PM +0400, Artem Chuprina wrote:
> А не будет ли любезен многоуважаемый джинн Alex Tutubalin описать поведение
> $recoder->is_ok? А то из документации
> 
>        $recoder->is_ok;
>             Returns 1 if Russian Apache module has successfully
>             processed current request and undef overwise (f.e.
>             mod_charset is disabled, or some recoding tables was
>             not found etc)
> 
> и кода
> 
> sub is_ok 
>   {
>     my $self = shift;
>     return xs_is_ok($self->{request});
>   }
> 
> не очевидно, что в случае CharsetRecodeMultipartForms Off при чарсете клиента
> utf-8 она должна возвращать 1, но отказываться recode. Из общих принципов
is_ok - это перловый Alias для ra_charset_ok. Который говорит
интересующимся :) нужно ли звать всякие перекодировочные вещи 
или mod_charset не сумел определить кодировку клиента или он не
стал определять кодировку клиента. Собственно и весь magic

Alex


> понятно, что some recoding tables was not found, и отказываться recode она
> должна, но должна также и честно отдавать charset'ы, которые явно проверяют
> is_ok. Таки в какой ситуации будет не 1?
> 
> И я так и не увидел ответа на свой вопрос, заданный мылом (не дошло?), почему
> сервер с koi8-r клиенту с windows-1251 в той же самой ситуации в результате
> кода
> 
> $apr->print('Server charset: '.$recoder->server_charset.'<br>');
> $apr->print('Client charset: '.$recoder->client_charset.'<br>');
> $apr->print('Имя неперекодированное: '.$apr->param('name').'<br>');
> $apr->print('Имя после client2server: '.
> 	$recoder->client2server($apr->param('name')).'<br>');
> my $recoded = $recoder->recode($recoder->client_charset,
> 	$recoder->server_charset,$apr->param('name'));
> $apr->print('Имя после recode: '.$recoded.'<br>');
> 
> выдает
> 
> Server charset: koi8-r
> Client charset: windows-1251
> Имя неперекодированное: цШЦШ
> Имя после client2server: цШЦШ
> Имя после recode: Гыгы
> 
> ? Мне казалось, что должен выдавать
> 
> Server charset: koi8-r
> Client charset: windows-1251
> Имя неперекодированное: цШЦШ
> Имя после client2server: Гыгы
> Имя после recode: Гыгы
> 
> Это баг или непонятая мной фича? В случае с utf-8 client2server также выдает
> неперекодированный фрагмент.
> 
> Server: Apache/1.3.12 (Unix) mod_perl/1.23 rus/PL29.4 
> 
> -- 
> Artem Chuprina                            E-mail: ran@ran.pp.ru
> Programmer                                  FIDO: 2:5020/371.32
> Memonet Ltd.                             Phone: +7-095-284-1356
> =============================================================================
> =               Apache-Rus@lists.lexa.ru mailing list                       =
> Mail "unsubscribe apache-rus" to majordomo@lists.lexa.ru if you want to quit.
> =       Archive avaliable at http://www.lexa.ru/mail-archive                =
=============================================================================
=               Apache-Rus@lists.lexa.ru mailing list                       =
Mail "unsubscribe apache-rus" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/mail-archive                =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.