![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
alezzz |
|
||||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
Получаю ответ на LWP::Simple get. Ответ в виде XML, и в нем есть кирилица в utf8. Делаю encode И получаю
Пробовал регуляркой вырезать только нужный текст из XML и его уже перекодировать, но тоже самое. декодирую так:
|
||||
|
|||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
# GET "http://forum.vingrad.ru/index.php?showtopic=327136" | perl -MEncode=encode,decode -lne 'encode("cp1251", decode("utf8", $_)) =~ m#<title>.+?</title>#smi && print $&'
<title>VPF::Ошибка encode при декодировании из utf8 - Форум программистов</title> # вы уверены в утфности текста? |
|||
|
||||
IceSunrise |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 7.4.2008 Где: Санкт-Петербург Репутация: 3 Всего: 3 |
alezzz, ошибка возникает при декодировании
Это должно работать, если в $content действительно utf8
Если не сработает, запостите сюда дамп переменной $content до перекодирований. Вот так
Это сообщение отредактировал(а) IceSunrise - 15.4.2011, 11:49 |
||||
|
|||||
alezzz |
|
||||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
да, сайт возвращает XML с кирилицей в утф Я пробовал сделать принт до декодирования, получил такое:
сам контент
|
||||
|
|||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
http://forum.vingrad.ru/forum/topic-282078...utf8/index.html
http://forum.vingrad.ru/forum/topic-274374/hl/utf8/15.html Добавлено @ 12:34 для MVC Catalyst пытались сделать, чтобы оно не сбивалось в любом случае! http://search.cpan.org/~bobtfish/Catalyst-...ode/Encoding.pm http://cpansearch.perl.org/src/BOBTFISH/Ca...ode/Encoding.pm
тут http://www.mail-archive.com/[email protected]/msg02350.html очень активно обсуждали там Bill Moseley написал Это сообщение отредактировал(а) gcc - 15.4.2011, 12:37 |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
url?
|
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
http://morpher.ru/WebServices/Morpher.aspx
вот пример:
и еще, дома работает без проблем, на работе не хочет, кроме WinXP/Win 7 не вижу разницы. |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
perl -v ?
у меня работает нормально |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
This is perl, v5.10.0 built for MSWin32-x86-multi-thread (with 5 registered patches, see perl -V for more detail) вот в этом и проблема, пытаюсь понять что не так. Еще: работает - файрвол отключен не работает - файрвол включен, но get отдает контент работает и не работатет на разных компьютерах, перл одинаковый |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
проверьте, на чем ломается:
perldoc Encode | less -p "Handling Malformed Data" |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
Решил проблему, поменял LWP::Simple на LWP::UserAgent (когда гуглил что-то такое видел, но не обратил сразу внимания).
Вобщем такие наблюдения: брал контент из $content->content и $content->decoded_content, если их вывести принтом то внешне ничем не отличаются, только на $content->decoded_content появляется "Wide character in print at...", зато длины строк если посмотреть через length() отличаются. Отправил на encode $content->content, работает нормально. Непонятно, функции is_utf8, _utf8_on, _utf8_off из Encode реализованы? Ругается "Undefined subroutine &main::is_utf8 ..." |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
импортируйте
|
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |