2026年8月11日火曜日

Macで作ったZIPの文字化け

MacでZIPを作ってWindowsに持っていき、Windowsで解凍すると文字化けする。

MacのZIPはちょっと古いもので、ヘッダにUTF-8フラグやUTF-8ファイル名を記録してくれず、そのままUTF-8ファイル名のみを保持するため、Windowsで解凍するときにそのまま文字化けしてSJISになってしまうのが原因だ。

Mac定番のKekaを使うときちんとヘッダにUTF-8ファイル名も書き込んでくれるようで、Windowsで解凍しても文字化けが起きない。

ちなみにKekaはAppStoreから落とすとサブスク?料金がかかるんだけど、本家サイトからダウンロードするとそのまま使える。

Macでも新しいZIPをbrew install zipしてやって、

/opt/homebrew/bin/zip -UN=UTF8 -r "${BASE_NAME}.zip" "$TARGET" -x "*.DS_Store" -x "__MACOSX" -x "._*"

とかやってやれば文字化けせず、.DS_Storeや._ファイル名も含めずZIPできるんだけど

そこまでやる人普通はいないので素直にKeka使ったほうがいいかもしれない。

というか、Appleちゃんとしろよ

世界中が困ってんだよ