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


Автор: fantome 31.10.2007, 20:27
Как с помощью перла определить, в какой из кодировок создан текст?
Текст на русском языке. 
Возможные кодировки UTF-8, CP-1251, KOI8-R.

Автор: KSURi 31.10.2007, 20:50
perldoc Encode::Guess

http://search.cpan.org/~dankogai/Encode-2.23/lib/Encode/Guess.pm

Автор: fantome 31.10.2007, 21:31
а мона пример?
а то не вьезжаю, как его использовать...

с перекодировкой впервые столкнулся...

Добавлено через 14 минут и 24 секунды
если правильно понял, то вот такой конструкцией можно перекодировать в UTF-8 всё, что угодно, попавшее на вход...
Код

my $utf8 = guess_encoding($data, qw/utf-8 cp-1251 koi8-r/);

Народ, уточните плиз, ежель не сложно...

Автор: fantome 31.10.2007, 21:57
или так будет правильней
Код

my $decoder = guess_encoding($data, qw/utf-8 cp-1251 koi8-r/);
die $decoder unless ref($decoder);
my $utf8 = $decoder->decode($data);

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