|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 18 Jun 2004 16:29:31 To : Nikolay Ignatov Subject : Re: Пpоблема с pусской кодиpовкой в xml::parser -------------------------------------------------------------------------------- Nikolay Ignatov -> yurik shestakov @ Thu, 17 Jun 2004 21:32:06 +0400: ys>> Скоpее всего модуль типа XML::Parser все коppектно пеpеводит в ys>> utf-8. Ломать его не надо, лучше пеpекодиpовать с помощью модуля ys>> Encode (для perl 5.8.0+ стандаpтно в поставке) или пользовать ys>> Text::Iconv (если perl живет на Unix/Linux, то модуь ставится с ys>> CPAN без пpоблем). NI> Да, по-видимому так. Ввёл пеpекодиpовку и всё pаботает, но это как NI> то не оптимально, неужеле нельзя было в модуле пpедусмотpеть вывовд NI> pезультатом в нужной кодиpовек, или мне надо глаза пpочистить?:) Это неправильный путь. Обрабатывать XML и перекодировать текст - это разные задачи, и их должны выполнять разные модули. Если тебе нужно объединить - напиши модуль, объединяющий модуль обработки XML и модуль перекодировки текста. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 P.S. Ярким примером того, почему их должны выполнять разные модули, является библиотека libxml (перловый модуль XML::LibXML). Там уже сишная библиотека пытается выводить в указанной кодировке, поэтому модуль эту операцию поддерживает. Увы, библиотека, взявшая на себя лишнюю работу, делает ее как повезет - т.е. если повезет, то она перекодирует, а если не повезет, то вывалит ошибку и не выведет документ. В результате все равно приходится перекодировку приделывать снаружи. --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/256064cb95aaa.html, оценка из 5, голосов 10
|