Re: tcl on Woody
Hi!
>>>>> "Anton" == Anton Kovalenko <a_kovalenko@fromru.com> writes:
>> У меня вопрос не совсем про Debian, но про tcl8.3 под Debian Woody
>> :-) Никак не могу понять почему конструкции вида regsub -all "ttt"
>> $text "" text превращает $text в utf-8 строку, хотя до выполнения
>> команды был cp1251? попытки выставлять различные LANG не имеют
>> эффекта,
Anton> "А из зала мне кричат -- давай подробности!" (с) Галич.
Anton> Что было до регсуба, что стало после, что ожидалось, какая
Anton> локаль. Желательно привести _полностью_ то, что лежало в
Anton> text. Желательно также запостить не свои предположения, а
Anton> результаты прогона программы со вставками типа puts $text, puts
Anton> что-тоещё.
Anton> Tcl (since 8.3) работает с utf-8 вполне нормально (чего не
Anton> скажешь о Tk). Но "тонкостей" там хватает.
Меня уже просветил Виктор Вагнер:
----------------------------------------
Потому что tcl>=8.1 принципиально не работает с другими кодировками.
Если надо прочитать файл в cp1251, то надо так и сказать что этот ФАЙЛ
в cp1251.
fconfigure $file -encoding cp1251
Если надо вывести данные в кодировке отличной от текущей локали,
то надо то же самое сказать для выходного файла.
----------------------------------------
И это работает, но только из tclsh :o(
Дело в том что eggdrop исполняет tcl скрипт из C модуля и
по какой-то причине скрипт возвращает ошибку:
Tcl error [infoegg_question]: unknown encoding "cp1251"
Как я понимаю он просто не находит /usr/lib/tcl8.3/encoding,
а может и не в этом причина.
Пробовал писать в скрипте:
global env
set env(TCL_LIBRARY) "/usr/lib/tcl8.3"
Не помогает :o(
Может кто Embeddил tcl в C и сталкивался с подобным?
--
Sed-Off
Береги жену спереди, а себя сзади.
Reply to: