从zip存档中提取带有日语字符的文件

时间:2018-06-22 08:16:09

标签: perl zip special-characters extract

zip文件中的所有内容都有日语名称(例如,内部目录,内部pdf等)。当我尝试使用 Archive::Zip 要么 Archive::Extract, 尝试创建具有西班牙语名称的目录时,它在单点失败(输入/输出错误)。

有什么方法可以解决这个问题而不必编写我的解压缩模块?

use warnings;

use POSIX;
use File::Basename;
use File::Copy;
use Sys::Hostname;
use Archive::Extract;
use File::Path;

my $filename = '42108e01b86ed61ed18c29066254b5b9.zip';
my $dest_dir = "test_site/pk";

use Archive::Zip;

my $zip = Archive::Zip->new();

unless ( $zip->read( $filename ) == AZ_OK ) {
    die "Error Reading Zip File !";
}

foreach my $m ( $zip->members() ) {

    print "Member $m:\n  ";

    my $err = $zip->extractMemberWithoutPaths( $m, "$dest_dir/" . $m->fileName );
    print "Error: $err" if $err;
    print $/;
}

错误是:

  

Archive / Zip / Member.pm 485行的输入/输出错误。

0 个答案:

没有答案