Re: Tcl и русский язык
On 2007.01.18 at 22:01:18 +0300, Pechnikov Alexey wrote:
> Проблема в следующем: происходит чехарда с выводом русского текста в браузер.
> Например, есть файлы 1.tcl и 2.tcl. Если из 1.tcl все выводится нормально, то
> при подключении в нем source 2.tcl из 2.tcl выводится кракозяблами. Что
> творится с выводом из sqlite базы, вообще не понять. Перебрал все комбинации
> параметров
[skip]
> Существует ли способ навести порядок с кодировками?
Угу. Понять как оно там на самом деле устроено.
А устроено оно так: файл скрипта интерпретируется как файл в той
кодировке, которая была системной в момент выполнения source.
Т.е. в если самом файле содержатся русские буквы, в нем писать encoding
system поздно. Поэтому эту команду лучше никогда не использовать.
Разве что без аргумента, чтобы УЗНАТЬ текущую системную кодировку.
Соответственно, делать fconfigure на stdin и stdout тоже не имеет
смысла. По умолчанию они в системой кодировке.
Поскольку речь идет о выводе в браузер, то для того чтобы выводилось в
нужной кодировке, нужно переменную LANG установить с помощью директивы
SetEnv в конфиге апача. И по ходу выполнения скрипта ничего не менять.
Это наиболее простой способ сделать чтобы всё было единообразно.
Reply to: