On Tuesday 18 July 2006 15:56, Dmitry E. Oboukhov wrote: > > > ну вот я так примерно и написал: > > > 1. определяю кодировку из регвыражения выше > > > 2. раскодирую B или Q в plain-text > > > 3. делаю iconv раскодированного в utf > > > 4. делаю замену регвыражения в полученное из п.3 > > > 5. если регвыражение все еще есть, то п.1 иначе конец > > > > И это правильно. Так, в общем случае, и надо делать. > > Чем же вам это решение не понравилось? > > тем что такая куча библиотек работы со строками/заголовками итп > а вот как понадобился просто раскодированный заголовок, так пришлось > руками писать :(
Может WordDecoder пропатчить и закоммитить?
>
> > > > PS. Теперь у меня еще вопрос. Про Text::Iconv. Есть ли в нем
> > > > возможность, чтобы при обнаружении символов, отсутствующих в целевой
> > > > кодировке, он пропускал эти символы (или заменял их на вопросик
> > > > какой-нибудь)? У iconv(1) такая опция есть (omit invalid characters),
> > > > а вот Text::Iconv сразу при этом спотыкается и возвращает undef.
> > >
> > > Text::Iconv->raise_error(0);
> > > разве не так делает? или оно просто скипает?
> >
> > raise_error(1) делает die, raise_error(0) возвращает undef
>
> он undef на всю строку чтоли возвращает?
> деже если там один символ кривой?
[EMAIL PROTECTED]:~$ cat test.pl
#!/usr/bin/perl -w
use strict;
use Text::Iconv;
Text::Iconv->raise_error(0);
my $conv = Text::Iconv->new('KOI8-R', 'LATIN1');
print $conv->convert('ABC'), "\n";
print $conv->convert('ABC АБВ'), "\n";
[EMAIL PROTECTED]:~$ perl test.pl
ABC
Use of uninitialized value in print at test.pl line 9.
> мдя, опять неудобняк, надо пересматривать мой код где этот iconv юзается
Угу.
--
Best regards. Alexander Lourier. http://aml.rulezz.ru
pgpf8D1Vz78Fa.pgp
Description: PGP signature

