どうぐばこノート

zipのファイル名の文字化けを直す

zipを開くと、化けていたファイル名を正しい文字で表示します。そのまま1つずつ取り出すか、名前をUTF-8に直したzipを保存できます。

zipファイルを選ぶと、中のファイル名を正しい文字で一覧にします。

ファイル名大きさ読み方

開いたzipはこのページの中だけで読み、どこにも送信しません。取り出したファイルと作り直したzipも、このページの中で作ります。

zipのファイル名が化けるわけ

zipファイルの中のファイル名は、どの文字コードで書いたかを、名前ごとの1つの印(汎用フラグのビット11)で示すことになっています。zipの仕様書(PKWAREのAPPNOTE 6.3.10)では、この印が付いた名前はUTF-8で書くこと、印がない名前は昔からのzipの文字(IBM Code Page 437)に従うことが定められています。

ところが実際には、印を付けずに日本語の名前をUTF-8で書くソフトや、日本語のWindowsの文字コード(Shift_JIS)で書くソフトがあります。印のない名前を、作ったときと違う文字コードで読むと、ファイル名が文字化けします。Macで作ったzipをWindowsで開いて「縺」「繧」のような名前になるのは、UTF-8で書かれた名前をShift_JISとして読んだときの化け方です。

このツールでできること

  1. 「zipファイルを開く」でzipを選ぶと、中のファイル名を一覧にします。名前ごとに、UTF-8の印があればUTF-8として、印がなくてもUTF-8として正しく読めればUTF-8として、どちらでもなければShift_JISとして読みます。
  2. 名前がまだおかしいときは、「名前の読み方」で、すべてUTF-8かすべてShift_JISに切り替えます。
  3. 必要なファイルだけ「取り出す」で保存するか、「名前を直したzipを保存」で、名前をUTF-8にして印を付けたzipを作り直します。作り直したzipは、印を読むソフトなら名前が化けずに開けます。

作り直すときは、圧縮されたデータをそのまま写すので、中身は1バイトも変わらず、圧縮し直す時間もかかりません。取り出すときはブラウザに備わった展開のしくみ(DecompressionStream)を使い、記録されたCRCと大きさが合うかを確かめます。

Macの濁点が分かれる名前

Macで付けた名前は、「が」が「か」と「゛」の2文字に分かれて記録されていることがあります。Windowsでは濁点が離れて見えたり、同じ名前のファイルを探せなかったりする原因になります。「Macの濁点の分かれた名前を1文字にまとめる」にチェックを入れておくと、一覧と作り直したzipの名前を、ふつうの1文字の形にそろえます。

Windowsの「すべて抽出」について

Windowsでzipを開くときは、エクスプローラーで右クリックして[すべて抽出]を選ぶ手順がMicrosoftのサポートページで案内されています。ただ、このページにはファイル名の文字コードについての説明はありません。Microsoftの公式の説明で見つかったのは、Windows 7でzipを展開すると日本語のファイル名が化けるという修正プログラムの案内だけで、Windows 11の展開機能がUTF-8の印のない名前をどう読むかを説明したページは見つかりませんでした(2026年10月24日に確認)。

送る側でできること

zipを作る側で名前をUTF-8にして印を付けておけば、受け取る側で化けにくくなります。たとえば7-Zip(24.08)に付属のヘルプでは、zipを作るときの設定に「cu=on」があり、英数字以外を含む名前をUTF-8で書くと説明されています。何も指定しないときは、その端末の文字コードで表せない文字を含む名前だけをUTF-8にする、とも書かれています。ほかの圧縮・解凍ソフトでは設定の名前や場所が違うので、それぞれの説明書を確かめてください。いちばん確実なのは、ファイル名を英数字だけにしてから圧縮する方法です。

対応していないzip

パスワードで暗号化されたzipは、名前の一覧は出しますが、取り出しや作り直しはしません。ZIP64形式(4GBを超えるものなど)や、いくつかに分割されたzip、無圧縮とDeflate以外の圧縮方式のファイルも扱えず、その旨を表示します。このサイトでは、約100MBのzip(ファイル500個)を開いて、名前の一覧、取り出し、作り直しができることを確かめました。

確認した資料

確認日 2026-10-24。文字コードの変換は WHATWG Encoding Standard の表(index ファイル、2024年9月18日版)をそのまま使っています(ライセンス文)。