Тут обнаружилcя забавный факт:
Таблицы перекодировки, входящие в комплект Русского апача
(as of 1.3.3PL26.5, но думаю, что с тех пор никто не менял)
содержат не все возможные символы из старшей половины кодовой таблицы,
и даже не наибольшее общее подмножество по всем используемым кодировкам,
а только русские буквы.
В результате чего получаются грабли. Есть такой символ - неразрывный
пробел (который вообще говоря, следует обозначать как  )
0xA0 в кодировке 1251 и 0x9A в koi8-r
который очень любят средства авторинга на платформе Windows.
Каким-то образом получилось что в некоторых файлах эти самые средства
авторинга не заменили его на корректрую escape последовательность и
он попал на сервер. Программа перекодировки в koi8-r его честно
перекодировала и те кто смотрят в koi8 видят все по-человечески.
А вот при отдаче в cp1251 Apache его не перекодирует. В
результате клиент получает 0x9a, то есть CYRILLIC SMALL LETTER LJE
Я, конечно, понимаю что пинать следует авторов таких страниц,
но Apache, на мой взгляд должен перекодировать все встречающиеся символы.
А те, которых в целевой кодировке нет, заменять на что-нибудь безобидное,
типа вопросительного знака или пробела.
--------------------------------------------------
Victor Wagner vitus@ice.ru
Programmer Office:7-(095)-964-0380
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.