powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) Кодировка результата
7 сообщений из 7, страница 1 из 1
(PERL) Кодировка результата
    #33527351
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Я только начинаю с перл, поэтому мож глупый вопрос, но важный для меня.
Использую (начинаю) перл для администрирования MS SQL. Хочу вывести результат запроса. Он выводится в дос-кодировке. Мне подсказали примерный код для перекодирования
Код: plaintext
1.
2.
3.
4.
5.
#!/usr/bin/perl
use Text::Iconv;
$converter = Text::Iconv->new("windows-1251", "koi8-r");
$osql = 'osql -S(local) -d subsidy -i"c:\\script.sql" -E';
@rs = `$osql` or die "Couldn't open $osql\n";
print @rs;
Но ругается на use Text::Iconv; Нет его. Вот собственно и вопрос где вообще качивают эти модули и где конкретно этот?
----------------------------------
- О каком Диком Билле ты говоришь?
- Есть лишь один Дикий Билл.
...
Рейтинг: 0 / 0
(PERL) Кодировка результата
    #33527627
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Модули качаются с CPAN , вот он этот модуль Text::Iconv - Perl interface to iconv() codeset conversion function .
Устанавливать не сложно, почитайте Справочное руководство "Установка perl-модулей" PDF , HTML версия
Будут вопросы, спрашивайте!
...
Рейтинг: 0 / 0
(PERL) Кодировка результата
    #33527654
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочю добавить, Вы уверены, что он выводиться в DOS кодировке? такое происходит, если данные УЖЕ храняться в MSSQL в DOS кодировке!

рекомундую посмотреть в сторону модуля Encode - character encodings
...
Рейтинг: 0 / 0
(PERL) Кодировка результата
    #33527675
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Почитаю. Здесь именно дос-кодировка. osql.exe так работает...
----------------------------------
- О каком Диком Билле ты говоришь?
- Есть лишь один Дикий Билл.
...
Рейтинг: 0 / 0
(PERL) Кодировка результата
    #33527847
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как использовать Encode?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#!/usr/bin/perl
use Encode;
#$osql = 'osql -S(local) -d subsidy -Q"select top 10 client_id from client" -E -h-1';
$osql = 'osql -S(local) -d subsidy -i"c:\\script.sql" -E';
@rs = `$osql` or die "Couldn't open $osql\n";
foreach(@rs)
{
 Encode->from_to($_, "iso-8859-1", "сp1251");
print $_;
}
Кстати, какая кодировка русская дос? пока поставил наугад, просто чтоб работало, но не работает. Пишет
Unknown encoding '1> 2> 3> client_id surname
' at 'C:\noname3.pl' line 8

----------------------------------
- О каком Диком Билле ты говоришь?
- Есть лишь один Дикий Билл.
...
Рейтинг: 0 / 0
(PERL) Кодировка результата
    #33527875
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как работать разобрался :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#!/usr/bin/perl
use Encode;
$osql = 'osql -S(local) -d subsidy -i"c:\\script.sql" -E';
@rs = `$osql` or die "Couldn't open $osql\n";
foreach(@rs)
{
Encode::from_to($_, "iso-8859-1", "iso-8859-1");
print $_;
}
осталось только узнать что писать тут "iso-8859-1", "iso-8859-1" ?
Подскажите. Нужно с дос на виндовс
----------------------------------
- О каком Диком Билле ты говоришь?
- Есть лишь один Дикий Билл.
...
Рейтинг: 0 / 0
(PERL) Кодировка результата
    #33527907
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все. Разобрался. Николай - спасибо большое.
Encode::from_to($_, "cp866", "windows-1251");
----------------------------------
- О каком Диком Билле ты говоришь?
- Есть лишь один Дикий Билл.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) Кодировка результата
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]