![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| TwiSteR |
|
|||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
Доброго времени суток всем,
Имеется нужда добиться русских букв в stdout Отсюда How to ??? --------------------
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
на сколько я понимаю тебе надо перед вывдодм текста в стдоут конвертнуть из одной кодировки в другую
почитай про транслитерацию tr Это сообщение отредактировал(а) chaos - 16.6.2005, 07:06 |
|||
|
||||
| Ivan Kolesnikov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 9.3.2005 Где: г. Новокузнецк Репутация: 3 Всего: 6 |
Скорее всего программируешь под Windows, все дело в том, что в консоле кодировка oem866, а ты пишешь наверное под Win1251. Выхода 2: или пиши под oem866 или если нужно получить просто понятное русское сообщение в консоле перенаправляй весь вывод в файл:
А проще всего на мой взгляд выучить английский --------------------
|
|||
|
||||
| TwiSteR |
|
||||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
Да
Я то его знаю прекрасно (довелось пожить за рубежом), а вот что делать с юзерами ?! --------------------
|
||||
|
|||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
> а вот что делать с юзерами ?!
perldoc Tk - самое сложное решение, юзвери-то еще и не консольные ;) |
|||
|
||||
| TwiSteR |
|
||||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
Юзверю надо вывести сообщение в консоли после отработки программы, мол так и так выполнено успешно или нет Добавлено @ 13:53
Сенкс буду изучать --------------------
|
||||
|
|||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
>Юзверю надо вывести сообщение в консоли после отработки программы, мол так и так выполнено успешно или нет
опс, я вроде прогнал... =( в Tk они тоже кракозябликами... =( |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Вобщем, что бы больше не возникало такого вопроса написал такой маленьки модуль, который перегоняет строки в DOS кодировку и обратно. Документировать его я не стал, потому как пользоваться им достаточно легко. Внизу сообщения прикреплён файл, качаешь его, распаковываешь, затем распакованный файл Decoder.pm кидай в библиотечный каталог:
Если ты не знаешь какой каталог является библиотечным, то введи в командной строке такую команду: C:\>perl -V После чего в самом низу увидишь примерно такие строки:
Вот это и есть библиотечные каталоги. Теперь кидаешь в один из этих каталогов файл Decoder.pm С этого момента модуль будет готов к использованию. Открывем редактор и пишем такую программу:
Если необходимо перевести строку в win1251, то делаем это точно так же, как и в примере выше, только вместо to_dos пишем to_win. Удачи. Зы: Предлагаю совместными усилиями доделать этот модуль, т.е. добавить конвертацию строки и в другие известные кодировки, документировать его в POD формате. После чего выложим его в раздел Исходники, который находится рядом с FAQ. Я конечно могу и сам это сделать, но тогда придётся подождать, так как времени сейчас практически нет, потому, пока, могу лишь поувствовать вместе с вами. Это сообщение отредактировал(а) korob2001 - 16.6.2005, 19:07 Присоединённый файл ( Кол-во скачиваний: 16 )
Decoder.zip 0,36 Kb-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| TwiSteR |
|
|||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
korob2001 Впереди планеты всей !!!
Спасибо !!! --------------------
|
|||
|
||||
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 3 Всего: 4 |
А можно про модуль по подробней?
что означает вот этот регексп?
--------------------
http://isokolov.blogspot.com/ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Это не регексп, это транслитерация подобная tr///; Здесь сложного ничего нет, транслитерация проходит строку символ за символом и заменяет его на соответствующий, который стоит во второй его части.
Например если есть строка Hello, нам нужно перевести все буквы l, в верхний регистр.:
Вобщем tr/// и y/// это одно и то же. Это сообщение отредактировал(а) korob2001 - 19.6.2005, 11:18 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| kostofffan |
|
|||
|
Unregistered |
korob2001, а ты бы не мог выложить сюда листинг модуля. А то что-то ваши правила по скачиванию... :(((((((
|
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Пожалуйста:
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 3 Всего: 4 |
korob2001, я так понимаю, что "\200" - это код символа, а "-" перечистение, типа 0..9?
--------------------
http://isokolov.blogspot.com/ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Да. Если запустить этот код на выполнение,
на выходе получишь строку "ПРИВЕТ МИР!" Это сообщение отредактировал(а) korob2001 - 20.6.2005, 12:42 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |