On Tue, Jul 02, 2002 at 09:14:36PM +0400, Alexander Sabourenkov wrote:
> По-моему - баг.
Воспроизвести не удалось.
> Вне зависимости от установки CharsetRecodeHeaders On или Off в любом месте - httpd.conf или .htaccess
> происходит одно и тоже:
> В запросе клиента headers перекодируются из кодировки клиента в CharsetSourceEnc
> В ответе сервера headers не перекодируются.
CharsetRecodeHeaders с заголовками от клиента ничего не делает.
Заголовки от сервера перекодируются, предполагается что там plain text.
Вот мой текстовый enviroment:
apache 1.3.26 RUSPL30.14, собранный из того, что на ftp.lexa.ru лежит.
В конфигурации написано CharsetRecodeHeaders On
Тестовый скрипт:
#!/bin/sh
echo "X-Header: жопа"
echo "Content-Type: text/plain"
echo
echo aaa русский текст
Запрос, который получает koi8 (тестировал netcat-ом):
GET /cgi-bin/test HTTP/1.0
Ответ:
HTTP/1.1 200 OK
Date: Tue, 02 Jul 2002 17:35:42 GMT
Server: Apache/1.3.26 (Unix) rus/PL30.14
X-Header: жопа
Connection: close
Content-Type: text/plain; charset=koi8-r
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Tue, 02 Jul 2002 17:35:42 GMT
aaa русский текст
Запрос, который получает ответ в cp1251:
GET /cgi-bin/test HTTP/1.0
User-Agent: (Win16;
Ответ:
HTTP/1.1 200 OK
Date: Tue, 02 Jul 2002 17:36:23 GMT
Server: Apache/1.3.26 (Unix) rus/PL30.14
X-Header: ФНОЮ
Connection: close
Content-Type: text/plain; charset=windows-1251
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Tue, 02 Jul 2002 17:36:23 GMT
aaa ПСЯЯЙХИ РЕЙЯР
Как видно, заголовки перекодируются. Попробовать можно самому на
http://www.lexa.ru:8080/cgi-bin/test
Ваша проблема может быть связана, например, с тем, что php отдает
пользователю cookie в, например, base64, а где-то на обратном пути
они раскодируются раньше времени.
Но вообще, русские заголовки порождают такую массу проблем, что
пользоваться ими не надо (особенно в случае возможности ручного выбора
кодировки и т.п.). Если уж так хочется положить что=то русское
в cookie, ну закодируйте в base64, всяко лучше будет.
Алексей Тутубалин
mailto: lexa@xxxxxxx
=============================================================================
= 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.