6 января 2010 г. 13:17 пользователь Alex Povolotsky <[email protected]>написал:
> 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 > [email protected] | http://moscow.pm.org > > -- Andrei Protasovitski < andrei[dot]protasovitski[at]gmail[dot]com > Diemen, Netherlands
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
