我正在运行一个使用/opt/local/lib/perl5/5.12.4/darwin-thread-multi-2level/Encode.pm
的perl应用程序
并发出错误
无法在/opt/local/lib/perl5/5.12.4/darwin-thread-multi-2level/Encode.pm第174行解码带有宽字符的字符串。Encode.pm
的第174行读取
sub decode($$;$) {
my ( $name, $octets, $check ) = @_;
return undef unless defined $octets;
$octets .= '' if ref $octets;
$check ||= 0;
my $enc = find_encoding($name);
unless ( defined $enc ) {
require Carp;
Carp::croak("Unknown encoding '$name'");
}
my $string = $enc->decode( $octets, $check ); # line 174
$_[1] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
return $string;
}
任何解决方法?
最佳答案
我有一个类似的问题。$enc->decode( $octets, $check );
需要八位字节。
所以放在Encode::_utf8_off($octets)
之前。它对我有用。