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 на всю строку чтоли возвращает? > деже если там один символ кривой? aml@amlnotebook:~$ 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"; aml@amlnotebook:~$ perl test.pl ABC Use of uninitialized value in print at test.pl line 9. > мдя, опять неудобняк, надо пересматривать мой код где этот iconv юзается Угу. -- Best regards. Alexander Lourier. http://aml.rulezz.ru
Attachment:
pgp8u8WnBTCqk.pgp
Description: PGP signature