シフトJISの日本語ファイル名が入ったzipファイルを受け取ってしまったとき、UTF-8環境のLinux上でunzipすると文字化けして大変なことになります… 解凍後に変換しようとしてもどうしようもないので、SJISからUTF-8にファイル名を変換した上で解凍するPerlスクリプトを勉強がてら作ってみました。 CPANモジュールの Archive::Zip などが必要です。 #!/usr/bin/perl # ファイル名をSJISからUTF-8に変換しながらzipを解凍する 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;