Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: GUI > Tkx и колировка


Автор: alezzz 20.5.2011, 13:28
Проблема с кодировкой кирилицы в Tkx. Есть поле entry. Привязываю -textvariable => \$ln. Теперь что введу в поле содержится у меня в $ln. Проверяю is_utf8 -- да, utf-8. Вставляю $ln куда-нибудь в виджет text -- все нормально. Но если я в тексте программы сделаю $ln = "что-то по русски" то в text уже кракозябры, перевожу $ln в utf-8 -- тоже кракозябры, на вид как utf-ные. 

Неплохое решение сделать use encoding ('cp1251'), т.к. я получаю часть данных из csv, все ничего но дальше мне нужно собрать xml для HTTP::Request POST и там начинаются проблемы, xml должен быть в utf. Нормально работает без use encoding ('cp1251'). 

Вот такая проблема, трогать формирование xml не хочется, а как передать в entry (или text) строку с кирилицей чтоб она отображалось нормально?

Автор: Pfailed 20.5.2011, 13:38
Исходник в utf8 и use utf8 не помогают?

Автор: alezzz 20.5.2011, 13:46
нет, исходник в cp1251, данные из файла тоже в cp1251.

Автор: Pfailed 20.5.2011, 14:12
А что мешает сделать исходник в utf8?

Автор: alezzz 20.5.2011, 17:08
можно и так попробовать, но я хотел узнать в какой кодировке передать текст виджетам Tkx, при этом не меняя кодировку остальной программы.

Автор: Pfailed 20.5.2011, 17:39
Подозреваю что в utf8 с поднятым флагом.

Автор: alezzz 20.5.2011, 20:50
С поднятым флагом!!! Кодировал в utf-8, а флаг проверить не догадался, и в этом была проблема. Спасибо большое. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)