<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=KOI8-R" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 01/06/10 16:20, Andrei wrote:
<blockquote
cite="mid:25d777681001060520g5eff428ew1943c7cee667af41@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
<div>6 января 2010 г. 13:17 пользователь Alex Povolotsky <span><<a
moz-do-not-send="true" href="mailto:tarkhil@over.ru">tarkhil@over.ru</a>></span>
написал:<br>
<blockquote>
<div>
<div>On 01/06/10 15:12, Andrei wrote:
<blockquote type="cite"> Судя по исходникам, это баг:<br>
<br>
<a moz-do-not-send="true"
href="http://cpansearch.perl.org/src/BCHOATE/Text-Textile-2.12/lib/Text/Textile.pm">http://cpansearch.perl.org/src/BCHOATE/Text-Textile-2.12/lib/Text/Textile.pm</a><br>
<br>
</blockquote>
<br>
</div>
Да, логично. $t->new(charser=>'utf--8') и $t->charset('utf-8')
делают ЧУТЬ-ЧУТЬ разные вещи. <br>
<br>
.... значит, грабли лежат где-то выше в MojoMojo...<br>
</div>
</blockquote>
<div><br>
Я не про это. Я про то, что:<br>
<br>
<pre><span>sub charset {</span>
<span> my $self = shift;</span>
<span> if (@_) {</span>
<span> $self->{charset} = shift;</span>
<span> if ($self->{charset} =~ m/^utf-?8$/i) {</span>
<span> $self->char_encoding(0);</span>
<span> } else {</span>
<span> $self->char_encoding(1);</span>
<span> }</span>
<span> }</span>
<span> return $self->{charset};</span>
<span>}</span>
</pre>
<br>
Т.е. сеттер для charset устанавливает char_encoding в 0, если
/^utf-?8$/ . В то время как в new char_encoding по умолчанию
устанавливается в 1, значит, его нужно устанавливать в 0 явно вместе с
charset => 'utf-8'. Ну, или править исходники.<br>
</div>
</div>
</blockquote>
<br>
Да, я понял. В принципе, акксессор с побочным эффектом - это есть злая
бага. Но от явной установки char_encoding(0) проблема не проходит...<br>
<br>
Alex.<br>
<br>
</body>
</html>