アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【DebianWindows
Windows-SJISのZIPファイルを文字化けせずにLinux-UTF8で解凍する
POSTED BY
2023-08-04

日本語ファイル名やフォルダ名が含まれるものをWindowsでZIP圧縮したzipファイルを、そのままLinux上でunzipコマンドで解凍すると、ファイル名が文字化けする。

WindowsはSJIS、LinuxはUTF-8であるからだが、これの解決策を検索すると「unzipコマンドに-Oオプションをつける」「convmvコマンドを使う」などとヒットするが、Debianのunzipには-Oオプションは存在しないし、convmv -f sjis -t utf8としても文字化けしたままいっこうに解決しない(当方環境では)。

真の解決法はいたって簡単で、unarコマンドを導入すればよい。

sudo apt install unar

試しにWindowsにて日本語のフォルダ名「日本語フォルダ」を作って、その中に「日本語ファイル.txt」を作ってみて、日本語フォルダを右クリック→送る→圧縮(zip形式)として、日本語フォルダ.zipを作成する。

なおZIPファイル名自体はどうしようもないので英語に変更しておく。
日本語フォルダ.zip → nihongo.zip

nihongo.zipをunarを導入したDebianへコピーして、

unar nihongo.zip

nihongo.zip: Zip
  日本語フォルダ/日本語ファイル.txt  (13 B)... OK.
Successfully extracted to "./日本語フォルダ".

ファイル名を指定するだけで良きにはからってコード変換して展開してくれた。便利!

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】