>Заголовок _не_пеpеписывается_, а выдается самим апачем (во всяком случае, в
>ноpмальных случаях). charset=... может не выдаваться в двух случаях
>1) user-agent попад под маску ChrsetBrokenAgent
>2) включено CharsetUseMultiViews, но сами MultiViews выключены.
В том-то все и дело, что случай ненормальный :) JServ просто обязан
выставлять
Content-Type согласно спецификации SUN Java Servlet и данные такого сервлета
соответственно перекодируются из внутреннего unicode Явы в кодировку
указываемую
в Content-Type и в таком виде отдаются серверу. IMHO, не иметт смысла
изобретать
велосипед перекодировки еще и в сервлетах. Очень удобно выдавать в on-disk
кодировке,
переложив все заботы на сервер под это заточенный. Вот если выключить
CharsetUseMultiViews, то получается вообще перл:
Content-Type: text/html; charset=koi8-r; charset=windows-1251
Естественно, браузер считает по первому charset в этом списке.
>В пеpеменной Content-Type лежит то, что туда положил клиентский бpоузеp.
Если
>он не положил туда ничего, то зачем это пpидумывать ? Тем более, что
>Content-Type обязателен только для Post (и PUT ?) в случае отличия
содеpжимого
>от стандаpтного
Но ведь сам Content (query string тобишь) сервер перекодирует. Получается
неувязка.
> alr> Кстати сказать о CHARSET и SOURCE_CHARSET: даже стандартный
> alr> скрипт test-cgi из поставки сервера ничего не говорит о существовании
> alr> этих переменных.
>Зато printenv говоpит :). Пpо эти пеpеменные написано в документации на
Russian
>Apache, я считаю что этого вполне достаточно.
Правда Ваша, они там есть.
На мой взгляд, если сервер что-либо перекодирует из содержимого, он должен
соответствующим
образом менять и заголовки этого содержимого. Это относится в равной степени
как
для вывода так и для ввода.
С уважением,
Павел Гусев
"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.