tôi đã chạy một ứng dụng perl trong đó sử dụng /opt/local/lib/perl5/5.12.4/darwin-thread-multi-2level/Encode.pm
Perl Encode.pm không thể giải mã chuỗi với nhân vật rộng
và vấn đề lỗi
Không thể giải mã chuỗi với ký tự rộng ở/opt/local/lib/Perl5/5.12.4/darwin-thread-đa-2level/Encode.pm dòng 174.
dòng 174 của Encode.pm
đọc
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;
}
Bất kỳ giải pháp nào khác?
Cảm ơn điều này đã làm việc tốt! – MinaHany
Không bao giờ sử dụng '_utf8_off'. Sử dụng hàm này vốn đã lỗi bởi vì '_utf8_off ($ s)' là viết tắt của 'utf8 :: encode ($ s) nếu is_utf8 ($ s);'. Hoặc là mã hóa hoặc không, nhưng không làm điều đó dựa trên một cái gì đó ngẫu nhiên! – ikegami