Imapのサーバーのユーザーディレクトリーに保存されているファイルの名前はMIMEではなく、UTF-7だそうです。
で、それを変換するperlスクリプトを作りました。作ったと言っても当該のCPANモジュールを呼び出すだけですが。
ただし、これには罠があって、CPANモジュールのIMAP-UTF-7の説明には間違いがあります。
ではなくて、
としないといけません1例えば、debianのフォーラム参照。。ずいぶん昔から指摘されているのに、直っていません^^;
スクリプト付けときます。GNU GPL 3.0 or laterっちゅうことで。
#!/usr/bin/perl
# imapdecode.pl
# by I Hieda (JE1SGH), 22 Apr 2016
# GNU GPL 3.0 or later
use Encode::IMAPUTF7;
$filename = @ARGV[0];
$outname=Encode::decode('IMAP-UTF-7',$filename);
binmode(STDOUT,":utf8");
print $filename," : ";
print $outname,"\n";
使い方としては、
for i in `ls`; do imapdecode.pl $i; done
などとします。
コメントについて
当記事へのコメント欄は,記事公開後一定期間で閉鎖されます.その際は適当な新しい記事に当記事の表題を引用して,コメントしてください.