トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

tips-unzip

Windows で作成したzip ファイルを解凍すると日本語ファイルが文字化け

  unzip 6.0

SRC

http://www.info-zip.org/
http://sourceforge.net/projects/infozip/files/UnZip%206.x%20%28latest%29/

Patch

https://bugs.archlinux.org/task/15256

Work

patch -u -p1  < unzip60-alt-iconv-utf8.patch

日本語パッチ

# wget 'http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Finfozip%2FUnZip+6.x+%28latest%29%2FUnZip+6.0%2Funzip60.tar.gz' -O unzip60.tar.gz
# tar zxvf unzip60.tar.gz
# cd unzip60
# wget http://gist.github.com/raw/573753/unzip-6.0-japanese_charset.patch
# patch -p1 < unzip-6.0-japanese_charset.patch
# make -f unix/Makefile LOCAL_UNZIP="-D_FILE_OFFSET_BITS=64 -DNO_LCHMOD -D_MBCS -DNO_WORKING_ISPRINT" generic_gcc
# make -f unix/Makefile LOCAL_UNZIP="-D_FILE_OFFSET_BITS=64 -DNO_LCHMOD -D_MBCS -DNO_WORKING_ISPRINT" install
# which unzip

  unzip-5.5 は以下

SRC

http://www.info-zip.org/

日本語パッチhttp://ebuild.gentoo.gr.jp/view.php?cat=app-arch&app=unzip&visible=

日本語のパスワードがかかったzipを展開普通に ASCII キャラクタのパスワードがかけられた ZIP を展開するなら

unzip file.zip
... password: [ここでパスワードを入れる]

を実行して普通にパスワードを入れればいい。でも、日本語(Shift-JIS)のパスワードがかかった ZIPファイルを展開するにはどうしたらいいだろうか。このためには、まず、端末で日本語を入力できるようにしておかなければならない。kinput2 や ATOK などお好みのものを使えばよい。そうした上で

unzip -P`nkf -s` file.zip
[ここでパスワードを入力]
Ctrl-d (コントロールキーを押したまま d を押す)

とすると、パスワードが正しければ展開されるはずだ。

上で端末で入力する方法を書いたけどエディタでパスワードを書いたファイルをつくって、それを Shift-JIS で保存しておいても同じようにできる。そのファイルをpasswd.txtとしよう。

unzip -P`cat passwd.txt` file.zip

で大丈夫のはず。