> А устроено оно так: файл скрипта интерпретируется как файл в той > кодировке, которая была системной в момент выполнения source. > Т.е. в если самом файле содержатся русские буквы, в нем писать encoding > system поздно. Поэтому эту команду лучше никогда не использовать. > > Разве что без аргумента, чтобы УЗНАТЬ текущую системную кодировку. > Соответственно, делать fconfigure на stdin и stdout тоже не имеет > смысла. По умолчанию они в системой кодировке. > > Поскольку речь идет о выводе в браузер, то для того чтобы выводилось в > нужной кодировке, нужно переменную LANG установить с помощью директивы > SetEnv в конфиге апача. И по ходу выполнения скрипта ничего не менять. > Это наиболее простой способ сделать чтобы всё было единообразно.
В том и дело, что не хотел я указывать системную кодировку, а хотел сделать все в самих скриптах. Хорошо, сейчас lighttpd использую, там можно что угодно указать внешней программе или еще кому. А надо будет установить на другой веб-сервер и голову сломаешь, как это сделать. Например, в thttpd это вызовет проблемы, да и на пресловутом апаче без подгруженного дополнительного модуля наверное тоже. С директивой LANG все работает действительно единообразно, благодарю.