а просто прописать дефаулт чарсет апачу или в .хтаццесс не судьба?
зачем локаль всей системы ломать?
Ничего генерацией локали не сломаешь. Если только сдуру --purge не попросишь, но тут уже, как говорится, ССЗБ.
# locale -a
C
en_US.utf8
POSIX
ru_RU.utf8
# locale-gen --no-purge ru_RU.CP1251 ru_RU.KOI8-R
Generating locales...
ru_RU.CP1251... done
ru_RU.KOI8-R... done
Generation complete.
# locale -a
C
en_US.utf8
POSIX
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8
Вот теперь бы ещё ru_RU.CP866 и ru_RU.ISO8859-5 где-нибудь достать...
А то setlocale() в php не работает...