ファイル出力時、ファイル名が文字化けする
Windows上から持ってきたファイルのファイル名ををLinux上のperlプログラムでdecode(perlの内部用文字に変換)してから最終的にutf8に変換してファイル出力を行う下記プログラムがあります
下記コードの①のケースで出力したファイルの中身は文字化けしていないです。ところが②のケースで出力した場合、ファイルの中身は文字化けしていないのですがファイル名が文字化けします。
何か良い対策方法ありますでしょうか。
-------------------------------------------------------------
use utf8;
use Encode qw(decode encode);
$name = decode('cp932', $name); ←$nameはファイル名
$name = encode('utf8', $name);
my $outpath = '/sample/test'; ← ①ファイルの中身は文字化けしていない。
my $outpath = '/sample/' . $name; ← ②ファイルの中身は文字化けしていない。ファイル名が文字化け。
opne my $fh '>', $outpath;
print $fh $name;
close($fh);
お礼
早速のご回答ありがとうございます。 削除もできないです。。 バックアップもとっていなかったので復元ができない状況です。 動画は私が自分のPCでテレビ番組を録画したものなので、他から入手することもできず、またかなり貴重な映像もあったので、なんとか現在のファイルを修復できないかと思っています。。