mac: unzip 文字化け

macOS 版 Comipoli が cbz 内部で日本語があるとエラー。
原因を色々探ってみたら zipinfo がこういうことになっていた。

Fedora

macOS

macOS の zipinfo が日本語ファイル名を出力できないだけだった。
どちらも LANG=ja_JP.UTF-8 だし、Terminal.app も日本語出力は普通にできるし。
でも何故か展開すると普通に日本語ファイル名になる。

個別取り出しも日本語指定で取り出せる、意味ワカンネ!
つまり、この出力を日本語にて得られないと個別取り出しができないってことだ。

いくら検索しても shift-jis のことしか出てこない、んなもん常識以前だろ!
UTF-8 が化けることに誰も気がついていないのか。。。。。

NSStringEncoding – Foundation | Apple Developer Documentation

コイツを色々試したけどドレも日本語に戻せない。
iconv も試しているけどお手上げ状態。
日本語は非サポートってことで済ませようかな。。。。。

現状を置いておきます、日本語ファイル名でなければ動くんだけど。
comimac-0.0.2.tar.gz

ところでオプションでなんとかしようと漁っていたらこんなのが。
macOS ではオプションに出ない -O, -I って何だろう?

Unzip の日本語ファイル名の取り扱いについて | FreeBSD | daily memorandum 3.0.0

ってつまり。

#!/bin/sh
unzip -Ocp932 "$@"


_Zip932 とかの名前で Nautilus Script に登録しておけば Fedora も例の文字化けを回避。
macOS の奴はパッチが当たっていないようなのでこの手段は使えない。
Ubuntu の奴はコレを自動判別しているだけ、ってことみたい。

Comipoli は進まなかったけど面白いことを知った。