鄭州電腦IT培訓(xùn):有關(guān)日文壓縮文件亂碼的問題解決辦法
linux系統(tǒng)和windows系統(tǒng)是目前大家常用的兩大操作系統(tǒng),當(dāng)然這個操作系統(tǒng)也按照國家不同,語言不同也分文很多種版本,今天我們鄭州北大青鳥電腦IT培訓(xùn)就來和大家分享下,日文版本的linux系統(tǒng)下,壓縮文件亂碼的問題解決辦法。
自己用的是日文的linux系統(tǒng),昨天從同事那兒收了個壓縮文件,結(jié)果解壓之后文件名都亂嗎了(內(nèi)容正常顯示)。網(wǎng)上google了以下發(fā)現(xiàn)是因為windows下默認(rèn)的編碼方式時Shift-JIS,到了linux下之后雖然內(nèi)容可以顯示但是文件名卻亂碼。解決方法也挺簡單的,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;
}
以上就是具體的操作流程,大家在下面具體的驗證下才能更深刻的理解。不管是那種語言版本下的操作系統(tǒng),基本的才做還是相通的。想要了解更多的服務(wù)器管理知識請查看:http://i3061.cn/ 本文源自:http://i3061.cn/jsjl/ 轉(zhuǎn)載請注明出處!
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問題,可以對在線咨詢老師進行一對一問答!
推薦資訊
- 現(xiàn)在學(xué)什么技術(shù)最有前途?... 2013-03-31
- 北大青鳥網(wǎng)絡(luò)培訓(xùn)師課程,您轉(zhuǎn)行... 2012-10-13
- 鄭州北大青鳥軟件開發(fā)講師--浮立... 2019-02-25
- 鄭州的學(xué)生想學(xué)習(xí)電腦知識怎么學(xué)... 2014-11-17
- 大學(xué)生如何做到“人崗匹配”,北大... 2013-01-23
熱點資訊
- Windows Server 2008 R2如何修改... 2018-09-07
- 常見的五個Web應(yīng)用漏洞介紹與其解... 2018-09-07
- 刪除遠(yuǎn)程桌面連接IP記錄... 2018-09-07
- 自己動手解決服務(wù)器上的安全問題... 2018-09-07
- 鄭州北大青鳥學(xué)術(shù)交流:服務(wù)器數(shù)... 2018-09-07