![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Добрый день, подскажите, что нужно сделать, чтобы LWP работал с кириллическими сслыками
мучался и так и эдак. выдает response -> code == 500
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
burakov, если адрес в кодировке cp1251, то добавьте
Надо смотреть $response->status_line() и будет понятнее, в чем проблема Это сообщение отредактировал(а) ginnie - 21.6.2013, 17:00 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Все ж таки.
все было у меня в кодировке utf8. если воспользоваться модулем use URI::UTF8::Punycode; $punycode = puny_enc($utf8str); $utf8onsv = puny_dec($punycode); то все работает., НО.. при кодировании.. он все подряд цепляет. конечно хотелось бы, чтобы LWP както на автомате все это сам понимал. или я что то не так понял?. Добавлено через 3 минуты и 38 секунд можно регулярками над кириллическими ссылками поработать. но , а если это не только кириллица, а любая национальная ссылка (Домен). все как то должно быть зашито в модуль "на автомате" чтобы понималось. ? |
|||
|
||||
| ginnie |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
Приведенный в первом сообщении код в кодировке utf8? Где это указано? Добавлено @ 13:02
Передавайте в модуль ссылки в utf8 и все будет нормально. Добавлено @ 13:11 burakov, вот пример, кодировка скрипта cp1251:
выдает
Покажите Ваше значение в utf8, которое вы передаете в LWP и он его некорректно обрабатывает. Это сообщение отредактировал(а) ginnie - 1.7.2013, 13:12 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||||
|
|||||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Сделал так
И заработало. Но возник вопрос. Скрипт, который пишется -- это универсальный парсер. должен отработать на всем подряд (по любым ссылкам) возможно ли ситуация, когда урлы (к примеру на кириллице) могут быть представлены в хтмл коде (исходнике) в кодировке отличной от UTF8? просто иначе (если это возможно). применение use encoding 'utf8'; это частный случай. или же все таки национальные ссылки всегда представлены в UTF8? и можно смело пользоваться use encoding 'utf8'? и можете пояснять. что делает этот use encoding 'utf8' http://search.cpan.org/~dankogai/Encode-2.51/encoding.pm я перевел так, что "сообщает перлу в какой кодировке данные, для работы модулей" иными словами хочу спросить. указание use encoding 'utf8' нужно (кроме данного случая со ссылками) еще и для того, чтобы корректно допустим работали регулярные выражения? или к примеру в файл читало/писало). еще раз приношу извинения за некорректно поставленный вопрос... часто сталкиваешься с ситуаций, когда идет путаница с этими кодировками , то wite характер, то что то не работает (в основном регулярные выражения). очень хочется за use encoding 'utf8' зацепиться, чтобы используя его , решить раз и навсегда все эти проблемы... спасибо. |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |