Я столкнулся с этой проблемой, когда из-за мультибайтные символы изменение строкового значения при возвращаемом из function.Please рассмотрит ниже утвержденийPerl многобайтовой поддержка
print "charEncoding string val = " . $enc->($val) . "\n\n";
#prints charEncoding string val = 歡迎來到雅虎!
my $encoded = $enc->($val); <---- $encoded is not same as $enc->($val).
print "\n charEncodingo $encoded == $val " ;
#prints charEncodingo æ¡è¿Žä¾†åˆ°é›…虎! == 歡迎來到雅虎!
Что такое '$ enc'? В чем разница между '$ val' и' $ enc -> ($ val) '? – mob
Это Perl, в случае, если я пропустил, сказав, что и $ enc === Encode :: encode_utf8 –
У Perl нет многобайтового кода. У него есть символы. – tchrist