• 郑州北大青鸟首页
  • 网站导航
  • 河南安卓工程师培养基地 河南拥有IT体验馆 课程专业全、规模大校区河南多年连获全国教学质量奖 2011-2018年获北大青鸟总部荣誉奖
当前位置: 首页 > 栏目 > 技术交流 > 服务器管理

郑州电脑IT培训:有关日文压缩文件乱码的问题解决办法

时间:10-13 来源:  作者: 点击:0 

       linux系统和windows系统是目前大家常用的两大操作系统,当然这个操作系统也按照国家不同,语言不同也分文很多种版本,今天我们郑州北大青鸟电脑IT培训就来和大家分享下,日文版本的linux系统下,压缩文件乱码的问题解决办法。

       自己用的是日文的linux系统,昨天从同事那儿收了个压缩文件,结果解压之后文件名都乱吗了(内容正常显示)。网上google了以下发现是因为windows下默认的编码方式时Shift-JIS,到了linux下之后虽然内容可以显示但是文件名却乱码。解决方法也挺简单的,perl提供了一些方法,直接写一个简短的程序即可。
  我也是从其他地方参照的,给一个例子程序。(这里需要安装Archive::Zip模块)
  #!/usr/bin/perl
  use strict;
  use warnings;
  use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
  use Encode qw/from_to/;
  use Getopt::Long;
  use DateTime;
  use DateTime::TimeZone::Local;
  GetOptions('list|l' => \ my $mode_list);
  if (scalar @ARGV < 1) {
  print "Usage: $0 [-l] <zip file>\n";
  exit 1;
  }
  my $zipfile = shift @ARGV;
  my $zip = Archive::Zip->new();
  unless ( $zip->read($zipfile) == AZ_OK ) {
  die 'read error';
  }
  print "Archive: $zipfile\n";
  if ($mode_list) {
  print <<HERE;
  Length     Date    Time   Name
  --------  ---------- -----  ----
  HERE
  }
  my $total_size = 0;
  my @members = $zip->members();
  my $members_count = scalar @members;
  foreach my $member (@members) {
  my $filename = $member->fileName;
  from_to($filename, 'cp932', 'utf8');
  if ($mode_list) {
  my $dt = DateTime->from_epoch(
  epoch => $member->lastModTime
  )->set_time_zone(DateTime::TimeZone::Local->TimeZone());
  $total_size += $member->uncompressedSize;
  printf "%9d  %s  %s\n",
  $member->uncompressedSize,
  $dt->ymd('-') . ' ' . sprintf("%02d", $dt->hour) . ':' . sprintf("%02d", $dt->min),
  $filename;
  } else {
  print "  inflating: $filename\n";
  unless (defined $zip->extractMember($member, $filename)) {
  warn "  failed: $filename\n";
  }
  }
  }
  my $members_count_str = "$members_count file" . ($members_count > 1 ? 's' : '');
  if ($mode_list) {
  print <<HERE;
  --------                    -------
  HERE
  printf "%9d                    %s\n", $total_size, $members_count_str;
  }

     以上就是具体的操作流程,大家在下面具体的验证下才能更深刻的理解。不管是那种语言版本下的操作系统,基本的才做还是相通的。想要了解更多的服务器管理知识请查看:http://www.hnbenet.com/fwqgl/   本文源自:http://www.hnbenet.com/jsjl/ 转载请注明出处!


精彩专题
热点排行