40 Catalina で zip ファイルが開けない (unzip で解決)

師走の某日、abstract.zip という zip ファイルを展開しようとしたら
"abstract.zip"を"work"に展開できません。
(エラー22 - 引数が無効です。)
というメッセージが表示されて失敗する。

ネットで検索すると、Catalina の問題みたい? 試しに El Capitan でやったら問題なく処理された。

unzip でやれば良いだろう、と思ってやってみたら。
$ unzip abstract.zip
checkdir error:  cannot create <EB><AD><C9>-<EE>n
                 Illegal byte sequence
                 unable to process <EB><AD><C9>-<EE>n/_<EB><AD><C9>-<EE>n<FB>+
<C4>?.html.
(以下略)

(/usr/bin/unzip でも、/opt/local/bin/unzip でも、 挙動は同じである。)

どうもファイル名の文字コードがらみの問題らしい。 ファイル名の文字コードがいわゆる shift JIS (遠因: Windows で作られた zip ファイル) であるのが原因?

(早くなくなれ shift JIS…)

ネットで調べたところ、unzip に文字コード関係の処理を追加したものがあるらしい。 MacPorts で variant の指定をすればイントール出来る。
sudo port install unzip +iconv
こうしてインストールした unzip (/opt/local/bin/unzip) で
unzip -O sjis abstract.zip
とするときちんと展開出来た。

この unzip では、-O sjis を指定しなくても、とりあえず展開が出来るが、 ファイル名が化ける。

unzip で展開してファイル名の文字化けが出るようならば、 unzip -h でヘルプを出して、 unzip -O sjis を思い出す、と覚えておこう。

あるいは
alias unzipwin='/opt/local/bin/unzip -O sjis'
とか別名定義してしまうのが良いかも。

感想     zip ファイルを使う人は多いと思うのだが、 以前普通に出来ていたことが出来なくなって、 ネットで話題になっているのに治らないのは、 一体どういうことなのだろう。

「Microsoft、Shift_JISや外字からUnicodeへの移行を呼びかけ」
https://srad.jp/story/20/03/06/1237211/

桂田 祐史
2020-04-20