<div dir="ltr">В какой кодировке проект? И консоль куда вы все это выводите? </div><div class="gmail_extra"><br><div class="gmail_quote">11 марта 2015 г., 12:05 пользователь Nick Knutov <span dir="ltr"><<a href="mailto:mail@knutov.com" target="_blank">mail@knutov.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Столкнулся с проблемой, туплю и не могу понять почему всё так.<br>
<br>
use Dancer ':syntax';<br>
...<br>
my $aa = { a=>'b', c=>'д' }; # тут русская буква<br>
my $jj = to_json($aa);<br>
utf8::is_utf8($jj); # returns 1<br>
my $bb = from_json($jj);<br>
<br>
Получаю Wide character in subroutine entry. Почему?(1)<br>
<br>
Ок, грепаю рассылку, делаю<br>
<br>
my $jj = to_json($aa);<br>
utf8::encode($jj);<br>
my $bb = from_json($jj);<br>
<br>
Судя по Dumper($aa, $jj, utf8::is_utf8($jj), $bb);<br>
$bb теперь такое же, как $aa, а вот $jj в текстовом представлении<br>
$VAR2 = '{<br>
   "c" : "д",<br>
   "a" : "b"<br>
}';<br>
т.е. содержит совсем не 'д' Почему?(2)<br>
<br>
Почитав документацию на модули, я подумал, что from_json всегда ожидает<br>
отсутствие utf8 флага, но есть decode_json, которая для случая когда<br>
флаг есть. Ок. Делаем<br>
use Cpanel::JSON::XS 'decode_json';<br>
$cc = Cpanel::JSON::XS::decode_json($jj);<br>
<br>
И если перед этим не было utf8::encode($jj);, то снова Wide character in<br>
subroutine entry. ПОЧЕМУ???(3) Ведь у строки есть флаг и decode_json,<br>
судя по документации, ожидает его наличия.<br>
<br>
и (4) - как правильно делать все это?<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Best Regards,<br>
Nick Knutov<br>
<a href="http://knutov.com" target="_blank">http://knutov.com</a><br>
ICQ: 272873706<br>
Voice: +7-904-84-23-130<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Best regards,<br><div>Artem V. Zhuravlev</div></div></div>
</div>