みなさま、こんにちは。
macOS Catalina 10.15でzipファイルをダブルクリックすると〔エラー22 – 引数が無効です。〕というエラーが出てzipファイルが展開できない現象が確認されておりますが、検証(というか検索)をしましたところ原因が判明いたしました。
〔原因〕
(1)macOS 10.15 catalina では
(2)ASCII文字以外のファイル名がひとつでも含まれているzipファイルを
(3)macOS標準のアーカイブユーティリティで展開しようとすると
(4)(エラー22 – 引数が無効です。)というエラーが出てzipファイルが展開できない仕様になった
ためのようです。
※ASCII文字とは、半角英数字、記号、制御記号(空白等)等のASCIIコードで表現される文字で、ひらがなや漢字などの日本語(2バイト文字)は含まれない。
以前のmacOSのアーカイブユーティリティの仕様では、(ASCII文字ファイルはもちろん)日本語は文字化けしてでも展開されましたが、macOS 10.15 catalina 環境では日本語(ASCII文字以外の)ファイル名が含まれているzipファイルは(エラー22 – 引数が無効です。)というエラーが出てまったく展開されなくなってしまいました。
ASCII文字以外の文字が含まれていると展開されないということは、日本語だけでなく2バイトの文字が使用されていても同様のエラーが出て展開されません。
ですので、zipファイル内にASCII文字以外のファイル名が含まれている場合にはmacOS10.15のアーカイブユーティリティではなく、サードパーティー製のアーカイバを使用すれば展開することができます。
しかし、アナウンスなくいきなり以前の仕様が変更されればユーザが戸惑うのは仕方ありません。
現時点での対応といたしましては
(1)zipファイル作成時にASCII文字以外のファイル名を含めない
(2)zipファイル作成時にファイル名のエンコードをUnicodeにする
(3)zipファイル作成時にmacOSを使用する
(4)展開時にサードパーティー製のアーカイバを使用する
となります。
一番手っ取り早いのは
(3)zipファイル作成時にmacOSを使用する
なのですが、以前に検証したかぎりでは作成した環境ですら展開できたり、できなかったりしたので、macOS環境でのzipファイル作成をしなかった経緯があります。
この件につきましては引き続き検証していきます。