LoginSignup
1
0

More than 5 years have passed since last update.

Emacsで日本語ファイル名を含むzipファイルを開く方法

Posted at

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)

  1. Ubuntu で利用できる unzip コマンドは、日本語ファイル名を扱うためのパッチが適用されていて、文字化けしません。ですから、Ubuntu Natty の unzip パッケージを Debian Squeeze で使う手法を利用すれば、CLI で unzip コマンドを利用する場合には文字化けを避けることができます。実際、私個人も、この手法を利用していた時期があります。ただ、多数の Debian マシンを管理している立場では、この手法を忘れずに実施することそのものが面倒で、最近は使わなくなりました。 

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0