[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: