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 в конфиге апача. И по ходу выполнения скрипта ничего не менять.
Это наиболее простой способ сделать чтобы всё было единообразно.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить