|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : vitus@ice.ru 2:5020/400 12 Dec 2001 16:04:02 To : All Subject : perl 5.6.1 +XML::Parser + unicode --------------------------------------------------------------------------------
Столкнулся тут с очень странной проблемой - если из в указанной версии
perl (обязательно threaded) пропарсить XML::PArser::Expat какой-нибудь
XML в Utf-8, то Perl переходит в characher semantic, то есть проще
говоря начинает воспринимать все 8-битные тексты (вплоть до строковых
констант в программе) как Utf-8. Поскольку тексты в Windows-1251 и
koi8-r
валидными Utf-8 строками не являются, то начинается бардак -
отваливаютя регекспы (в первую очередь почему-то сплит по пустому
регэкспу), генерируется неправильный вывод.
Само е обидное заключается в том, что я не придумал способа употребить
прагму use bytes так, чтобы на отсутствие bytes.pm не ругались более
ранние версии Perl.
eval "use bytes;" и if ($] > 5.006) {
use bytes; } не помогают.
Т.е. прагма в таких конеткстах на весь остальной файл не действует.
Можжет быть кто-нибдуь какую умную мысль подкинет?
--
Victor Wagner vitus@ice.ru
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
Отправлено через сервер Talk.Ru - http://www.talk.ru
--- ifmail v.2.15dev5
* Origin: Talk.Ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488895a4244.html, оценка из 5, голосов 10
|