ZIPをWindowsで展開したら日本語ファイル名だけ文字化けする場合、ZIPに格納されたファイル名の文字コードと展開ツールの解釈の違いが原因の一つです。中身のファイル本文の文字化けとは別問題として扱います。

ZIPの文字コードが合わない状況を見分ける

  • ZIP内のファイル名だけが化けているのか、展開後の本文も化けているのか見分けます。
  • 同じZIPを別の展開ツールで一覧表示し、正常な名前で見えるか確認します。
  • ZIPの作成元が古いWindowsや特殊なアーカイバでないか確認します。
  • ファイル名が化けた状態で上書き保存しないようにします。

元のファイル名を保持して再圧縮する

  1. 元ZIPのコピーを保存し、展開後のフォルダと分けて保管します。
  2. Windows標準の展開機能で名前が化けるかを確認します。
  3. ファイル名の文字コードを明示的に切り替えられる展開ツールを使用できる場合は、元ZIPを変更せず一覧表示を比較します。ツールが未対応なら無理に文字コードを決め打ちしないでください。
  4. どの方法でも化ける場合は、作成者にUTF-8対応ZIPや7z形式など別の配布方法で再梱包してもらいます。
  5. 中身が重要な場合、ファイル名だけでなくハッシュや件数で展開データの正しさを照合します。

文字化けした名前を推測で変更しない

  • 文字化けしたファイル名を手作業で推測して修正すると、対応関係を誤ることがあります。
  • ZIPを解凍・再圧縮するとメタデータが失われる場合があるので原本は保護します。
  • 日本語ファイル名を避ければ問題が必ず解決するわけではありません。

展開後の件数と中身を比較する

  • 元ZIPの中の件数と展開後の件数を比較します。
  • 代表ファイルを開いて内容も確認し、ファイル名表示だけの問題だったかを判定します。

受取側のOSによって文字化けする場合

日本語ファイル名を含むZIPでは、作成側が付けたファイル名の文字エンコードを受取側ソフトが異なる方式で解釈すると、本文ファイルは壊れていなくても名前だけ文字化けすることがあります。たとえば「見積一覧.csv」が意味不明な文字列で展開されても、CSVの中身の文字コード問題とは区別します。

ZIP作成者へ可能ならUTF-8のファイル名に対応した方法で再圧縮を依頼します。NIMSの資料では、日本語を含むファイル名がWindows標準の展開機能で文字化けする具体例が報告されています。ただし、どのZIPでもWindows標準機能で必ず文字化けするわけではありません。ZIPを作った側のファイル名エンコーディングと展開ツールの組み合わせを比較してください。すでに展開した名前を推測で大量改名すると、どのファイルがどれか判断できなくなるため、元ZIPは保管してください。展開後のファイル件数と中身を比較し、業務上の重要ファイルを取り違えていないか確認します。

参考資料

おすすめの記事