Perl скрипт, не помойму что за ошибка модуля

12
W
На сайте с 29.08.2009
Offline
1
865

Добрый день. В общем мне необходимо текст одной из трёх кодировок utf-8 cp1251 или koi8-r перевести в utf8. Вот что я сделал:

use Encode;

use Encode::Guess;
my $decoder = guess_encoding($html, qw/utf-8 cp-1251 koi8-r/);
die $decoder unless ref($decoder);
my $html = $decoder->decode($html);

$html - это данный текст

Ошибка:

cp1251 or koi8-r at Z:/home/localhost/www/admin/cat/listofcats.pl line 86.

Подскажите что мне делать собственно

N
На сайте с 06.05.2007
Offline
419
#1

Ну не отгадал модуль. Программиста нанять.

Довольно редко нужно отгадывать кодировку, ведь обычно сайты ее сообщают при передаче.

Что у вас за задачи? Файлы?

Кнопка вызова админа ()
NS
На сайте с 30.09.2008
Offline
54
#2

на http://paste.org.ru весь скрипт.

или хотя бы строку на которой эта ошибка. ну и пример текста на котором падает.

bbon
На сайте с 01.04.2006
Offline
168
#3
qw/utf-8 cp-1251 koi8-r/;

может я мнительный, но cp1251 обычно пишется без дефиса. А вообще - если приводите номер ошибочной строки в логе - неплохо бы и в коде указать, с какого номера строки этот кусок кода начинается

N
На сайте с 06.05.2007
Offline
419
#4

Ошибка в строке " die $decoder unless ref($decoder);" только в программе еще много кода. Очевидно, модуль не находит однозначной кодировки и возвращает строку "cp1251 or koi8-r"

И что вам это даст, уважаемые экстрасенсы ?

W
На сайте с 29.08.2009
Offline
1
#5

Не все сайты отправляют в заголовках кодировку, я проверял. Текст который обрабатываю:

я дёргаю со страницы http://_planeta-tur.ru (не сочтите за рекламу).Другая часть кода работает. Так как я реально дёргал из заголовков, пока не встретил, где кодировки сайта в заголовке нету и в meta тоже

Winflip добавил 31.08.2009 в 20:42

bbon:
может я мнительный, но cp1251 обычно пишется без дефиса. А вообще - если приводите номер ошибочной строки в логе - неплохо бы и в коде указать, с какого номера строки этот кусок кода начинается

Без дефиса, пробовал. Номер первой строки данного кода - 82

N
На сайте с 06.05.2007
Offline
419
#6

Конкретно с этим модулем скорее всего ничего хорошего не получится.

W
На сайте с 29.08.2009
Offline
1
#7
Конкретно с этим модулем скорее всего ничего хорошего не получится.

Что вы можете предложить?

N
На сайте с 06.05.2007
Offline
419
#8

Моя позиция неизменна - нанять программиста, который слышал про CPAN.

W
На сайте с 29.08.2009
Offline
1
#9

Я слышал про cpan, но опредёлённого модуля не нашёл

N
На сайте с 06.05.2007
Offline
419
#10

допустим. а сколько вы программируете вообще и на perl в частности ?

Как можно не найти http://search.cpan.org/~rudenko/Lingua-DetectCyrillic-0.02/DetectCyrillic.pm

http://search.cpan.org/~farber/Lingua-RU-Charset-0.02/Charset.pm

Там модулей-то, касающихся русского языка, по пальцам сосчитать можно.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий