[Moscow.pm] Странность в Text::Textile
Andrei
andrei.protasovitski на gmail.com
Ср Янв 6 05:20:56 PST 2010
6 января 2010 г. 13:17 пользователь Alex Povolotsky <tarkhil на over.ru>написал:
> On 01/06/10 15:12, Andrei wrote:
>
> Судя по исходникам, это баг:
>
>
> http://cpansearch.perl.org/src/BCHOATE/Text-Textile-2.12/lib/Text/Textile.pm
>
>
> Да, логично. $t->new(charser=>'utf--8') и $t->charset('utf-8') делают
> ЧУТЬ-ЧУТЬ разные вещи.
>
> ... значит, грабли лежат где-то выше в MojoMojo...
>
Я не про это. Я про то, что:
sub charset {
my $self = shift;
if (@_) {
$self->{charset} = shift;
if ($self->{charset} =~ m/^utf-?8$/i) {
$self->char_encoding(0);
} else {
$self->char_encoding(1);
}
}
return $self->{charset};
}
Т.е. сеттер для charset устанавливает char_encoding в 0, если /^utf-?8$/ . В
то время как в new char_encoding по умолчанию устанавливается в 1, значит,
его нужно устанавливать в 0 явно вместе с charset => 'utf-8'. Ну, или
править исходники.
Теоретически
perl -MText::Textile -e 'my $t = Text::Textile->new(charset=>"utf-8",
char_encoding => 0);print $t->textile("h1.И где он уродует
русский?\n"),"\n";'
должно работать правильно.
>
> Alex.
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
--
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20100106/ff1975d5/attachment.html>
Подробная информация о списке рассылки Moscow-pm