Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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, а флаг проверить не догадался, и в этом была проблема. Спасибо большое. |