![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| TTT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 13.3.2007 Репутация: нет Всего: 1 |
Вот листинг скрипта:
В файле скриншот результата выполнения (Dumper выводит '\x{43e}\x{431}\x{449}' вместо кириллицы). Видна перекодировка, которую делает Dumper. Никак не могу получить кориллицу. Это сообщение отредактировал(а) TTT - 25.4.2007, 09:39 Присоединённый файл ( Кол-во скачиваний: 5 )
dumper.JPG 35,46 Kb |
|||
|
||||
| TTT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 13.3.2007 Репутация: нет Всего: 1 |
Проблема решается перемещением use encoding 'cp1251'; в sub. Наверное конфликт модулей.
|
|||
|
||||
| TTT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 13.3.2007 Репутация: нет Всего: 1 |
Разобрался своими силами. В общем, все из-за use encoding 'cp1251';
Этой прагмой меняется системная кодировка. Делать сие не очень рекомендуют, можно нарваться на неприятности. Что со мной и произошло. Tk использует внутреннюю кодировку Unicode (для универсальности) и перекодирует из нее в сиситемную для отображения в окнах. Скорее всего возникает нестыковка в таблицах перекодировки, ведь Data::Dumper тоже перекодирует. Символы '\x{43e}\x{431}\x{449}' возникают когда в таблицах Unicode нет соответствий. Я решил эту проблему использованием функций из модуля use Encode qw/encode decode/; Привожу рабочий пример:
Это сообщение отредактировал(а) TTT - 25.4.2007, 09:31 |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |