Debian GNU/Linux Stretch で利用できる unzip
コマンドはいまだに、日本語ファイル名を含む zip ファイルを解凍すると文字化けします1。しかし、unzip
コマンドの代わりに unar
コマンドを使うようにすれば、CLI 環境では手軽に文字化けを回避できます。
問題は、Emacs 上から archive-mode で圧縮ファイルを参照する場合の対応です。これも unzip
コマンドの代わりに unar
コマンドを利用すれば良いわけですが、正攻法で archive-zip-extract
変数に unar
コマンドを設定する方法ではうまくいきません。
その代わりに、単に zip ファイルも rar ファイルであると見なすように設定すれば、unzip
コマンドの代わりに unar
コマンドを使ってくれるようになります。具体的には、~/.emacs
に以下のコードを記述してください。
(require 'nadvice)
(defun my-archive-find-type (type)
(if (eq type 'zip) 'rar type))
(advice-add 'archive-find-type :filter-return 'my-archive-find-type)
-
Ubuntu で利用できる
unzip
コマンドは、日本語ファイル名を扱うためのパッチが適用されていて、文字化けしません。ですから、Ubuntu Natty のunzip
パッケージを Debian Squeeze で使う手法を利用すれば、CLI でunzip
コマンドを利用する場合には文字化けを避けることができます。実際、私個人も、この手法を利用していた時期があります。ただ、多数の Debian マシンを管理している立場では、この手法を忘れずに実施することそのものが面倒で、最近は使わなくなりました。 ↩