Help us understand the problem. What is going on with this article?

日本語を含むZIPファイルを文字化けせず解凍する方法

More than 5 years have passed since last update.

日本語を含むZIPファイルを圧縮したのと違うのOSで解凍する際、文字化けが発生することがあります。
以下調べた対処法を書いていきます。

Windowsで圧縮したZIPをMac、Linuxで解凍する場合、逆にMac等で圧縮したZIPをWindowsで解凍する場合の両方で文字化けは起こりえます。

原因

Mac、Linuxではファイルを圧縮する際ファイル名をutf-8でエンコードするのに対し、Windowsではファイル名をCP932(Shift_JIS)でエンコードするのが原因。
ZIP (ファイルフォーマット) - Wikipedia

対処法

Mac,Linux→Windows

Macで作られたファイルをWindowsで開く場合

Windows標準の解凍機能を用いる場合、修正プログラム( http://support.microsoft.com/kb/2704299/ja )を使うことでWindows 7 または Windows Server 2008 R2では文字化けせずに解凍できるようになります。
Windows 8からは何もせずとも解凍できるようになっているようです。その他の環境の場合、Explzh等のフリーソフトを使うことをオススメします。

Windows→Mac,Linux

Windowsで作られたファイルをMac、Linuxで開く場合

Mac標準のファイルアーカイバー、Ubuntuの日本語Remixのunzipを使っている場合、文字コードを自動で判別してくれるため対策の必要はありません。
それ以外の環境の場合、(Linux想定)以下の様な対処法があります。

  • patchが当たった修正版unzipを使う
  • unarを使う
  • 化けたファイル名をconvmvで修正する

unzip

Ubuntuで化けるときはとりあえず http://www.ubuntulinux.jp/japaneseJapanese Teamのパッケージレポジトリを追加する に書いてあることを実行するのをオススメします。
unzipが修正され、ファイルアーカイバ等でShift_JISでファイル名がエンコードされたZIPファイルを開けるようになります。
他のディストリビューションだとソース落としてパッチを当ててビルドすることで修正版unzipを導入できますがそんなこと出来る人はこんなところきっと見ないので割愛。

unar

文字コード判別機能付き解凍コマンド
WindowsのZIPファイルを解凍するだけでなく、色々な形式の圧縮ファイルを解凍できるコマンドです。
解凍するだけならunzipもtar xfももう要りません。
インストール方法は省略

convmv

ファイル名をiconvを使ってOSのロケールに修正するコマンド
他の原因でファイル名が化けた際や、Windows用にShift_JISで圧縮したファイルを作りたい場合にも
使えます。
使い方はこんな感じ

convmv -f utf8 -t shift_jis *.txt --notest
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away