On Sat, 10 Aug 2002, Webmaster AV wrote:
> > > этом CHARSET была кодировка не CharsetSourceEnc,
> > > а та - которая должна была бы быть (с учетом
> > > настройки этого вирт. хоста) если бы это был не
> > > nph-скрипт. В результате - глюки.
> > >
> > > Несогласованность получается...
> >
> > Ну да, несогласованность. Так уж этот скрипт написали почему-то, я тут
> > не при чем.
> >
> > Та кодировка, кторая отвечает
> > CharsetSourceEnc содержится в переменной SOURCE_CHARSET. А $CHARSET -
> > это та кодировка, которая будет после перекодировки русским апашем. Но
> > перекодировка для nph- выключена.
> >
> > Читайте документацию, она рулез.
>
> Но ведь скрипт же не знает, что он работает именно под Russian
> Apache.
Знает. По той простой причне, что стандартный Apache $CHARSET никому не
передает. То есть если уж он использует эту переменную, то он ОБЯЗАН быть
заточен под Russian Apache - со всеми вытекающими.
> Он думает примерно так: "я не знаю, в какой кодировке
> данные я обрабатываю (и на каком языке), но это знает веб-сервер
> (обычно). Вот я у него спрошу и передам клиенту (поскольку сам
> не перекодирую).
Эээ... Одно из двух - либо вы пользуютесь Russian Apache (и всеми его
перекодировками в частности), либо нет. nph-скрипт все делает сам по
определению. То есть и перекодировать тоже сам должен...
>
> Для сервера логичнее было бы передавать в стандартную
> переменную CHARSET корректный параметр и не вводить никого
> в заблуждение.
Он никого в заблуждение и не вводит. Он честно говорит - в какой кодировке
(по его мнению - там игра с эвристиками) клиент хочет получить ответ.
> Если для nph-скрипта перекодировка выключена,
> то и CHARSET == SOURCE_CHARSET (скрипту, ИМХО, не интересно в какой
> кодировке был бы отдан документ, если бы он небыл nph-...
Если скрипт написан грамотно - то очень даже интересно.
> Разве что он будет знать, что работает под RA и будет сам
> перекодировать в соответствии с настройками сервера...)
>
Именно так. Раз он ВООБЩЕ смотрит на $CHARSET - то он ЗНАЕТ, про то, что
он работает под Russia Apache и может воспользоваться чужими трудами и
узнать - в какой кодировке от него ожидается ответ. Что надо - перекодировать,
чего не надо - не перекодировать. Самую мерзкую часть работы (определить
КУДА нужно перекодировать) за него уже сделали, а само перекодирование - это
про tr ...
> Конечно, это все мелочи, и решается все элементарно. Ну а если
> пользуешь чужой скрипт и не разбираешься в программинге?...
>
Найти человека, который такой скрипт написал и оторвать ему одно место.
Ибо так не бывает, чтобы скрипт импользовал $CHARSET и не знал про
Russian Apache. Стандартный Apache $CHARSET не выставляет.
=============================================================================
= Apache-Rus@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-rus" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://apache.lexa.ru/mail-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.