MacのFinderで任意のフォルダを右クリックし、「圧縮」を選ぶと簡単にフォルダを丸ごとZipファイルに圧縮することが出来ます。
先日この方法で作成したファイルを人に送ったところ、Windows上で「フォルダ名やファイル名に日本語が含まれていると文字化けする」という問題が発生しました。
検索すると「MacはUTF8でWindowsはShift-JISだから...」という説明がたくさん見つかりますが、Zipファイルの解凍に関してはWindows 8以降であればUTF8にも対応しているためOS標準の機能(エクスプローラ上で右クリックから解凍など)を使えばこの問題は起こらないはずだそうです。
ところが、念のため自分のWindows 11マシンで試して見たところ、エクスプローラの右クリックから解凍した場合でも確かに日本語のフォルダ名とファイル名が文字化けすることを確認しました。Windows 11に至ってもまだこんな問題が残っているんでしょうかね。
以下にこの問題を回避するためにとった方法をメモとして残しておきます。
結論: Mac用のコマンドライン版7-zipをインストールする。
```
brew install p7zip
```
自分の環境で試した限りでは、これでインストールされる 7z コマンドを使って圧縮すれば、Windows 10/11でも問題なく解凍出来るZipファイルを作成出来るようです。
圧縮ファイルを作成する
```
7z a [圧縮ファイル名].zip [フォルダ名]
```
問題が起きていたフォルダをこの方法で圧縮してWindows 11マシン上のエクスプローラ・右クリックで解凍して見たところ、文字化けすることなく正しく表示されました!
以上で解決なのですが、ついでにFinderの右クリックメニューから一発で上のコマンドを実行する方法もメモしておきます。
Automator で Quick Action を作成する
スクリプトの内容
```
ZIPNAME="$1-"$(date +"%Y%m%d-%H%M%S")
/usr/local/bin/7z a "$ZIPNAME.zip" "$@"
```
「$@」を使うことで複数選択にも対応出来ます。
このQuick Actionを保存すれば、FinderのQuick Actionsメニューから実行出来るようになります。