Mac OS X 10.3以降は標準でzip圧縮できるようになりましたが、仰るとおり、ファイル名をUTF-8で格納するために、Windowsで解凍すると文字化けします。さらに、Mac OS特有のリソース領域やファイル属性などもアーカイブしているため、解凍時にWindowsには不要なファイルやフォルダが作成されます。
ちなみに、Windowsで作成したzipファイルをMac OS X 10.3.xで解凍するとShift-JISで格納されたファイル名をUTF-8として処理するため、エラーが発生して解凍に失敗します。 Mac OS X 10.4以降は解凍できるようになりましたが、それでも文字化けしました。 10.4.6以降で、ようやく文字コードの自動判別機能が備わり、UTF-8かShift-JISかを判断して解凍できるようになりました。
Windows Vistaのzip圧縮プログラムが仕様変更されて、ファイル名をUTF-8で格納するようになってくれないだろうか。OS間の互換性問題が軽減されるのだが。(アップルには、Shift-JISを使うつもりがないようだ…)
対策としては、Mac OS X環境でWindows環境で圧縮されたファイルを展開する場合は、カレントのロケールを元に決定したOEMコードページをデフォルトにして、場合に応じてOEMコードページをユーザが指定する方法も別途提供するという方法を取るしかないでしょう。
Mac OS X環境で圧縮する場合に、ファイル名のエンコーディングをShift-JISにしてくれ!というのは日本人であるnojiri氏にとっては当然の要望なんでしょうが、Mac OS Xでは容易に作成可能な各国語混在のファイル名をどうするの?という問題が残りますよね。 アップルがShift-JISを使うつもりが無いのは当然だと思いますよ。
lzhまだ使ってます? (スコア:2, 興味深い)
zipと比較してlzhを使うメリットってあります?lzhは解凍できるがzipは解凍できない環境ってそうないと思うんですが。慣れ親しんだものだから?圧縮率?圧縮率どうのは把握してませんが。
# 取引先からはいつもlzh圧縮でくるのでID
しないさせない!スルー力
Re:lzhまだ使ってます? (スコア:2)
相手の設定が悪いのか、こちらが悪いのかわかりませんが、
macユーザーとやりとりしてて、相手が日本語が入ったファイルをzip圧縮(stuffitかなんかで?)して、私(windows)側で解凍しようとすると大概文字化けしてることが多い気が。。
なんで、相手(mac)側でlzh使ってとお願いをすることがよくあります。(今のところ化けたことがない)
$多分どっか設定見直せばなおるのかもしれませんが
Re:lzhまだ使ってます? (スコア:1)
Windowsで作成された.zipファイルは調べていませんが Shift-JIS なのではないかと思っています。
どちらかがどちらかにエンコーディングをあわせればいいのでしょうが、そもそもファイル名のエンコーディング規則がzipのヘッダに規定されていないのが負けなのかも。
MacとWindowsのzip(オフトピ) (スコア:3, 参考になる)
そんな訳で、Mac上でWindows向けの圧縮ファイルを作る際は、lzhが無難です。→「目的別 圧縮ツール [mac.com]」
ちなみに、Windowsで作成したzipファイルをMac OS X 10.3.xで解凍するとShift-JISで格納されたファイル名をUTF-8として処理するため、エラーが発生して解凍に失敗します。
Mac OS X 10.4以降は解凍できるようになりましたが、それでも文字化けしました。
10.4.6以降で、ようやく文字コードの自動判別機能が備わり、UTF-8かShift-JISかを判断して解凍できるようになりました。
Windows Vistaのzip圧縮プログラムが仕様変更されて、ファイル名をUTF-8で格納するようになってくれないだろうか。OS間の互換性問題が軽減されるのだが。(アップルには、Shift-JISを使うつもりがないようだ…)
Re:MacとWindowsのzip(オフトピ) (スコア:0)
Windows と Mac OS しか OS がないとでもお思いですか?
# こういう物言いをする奴が全員死ねば少しはいい世の中になるんだろうなあ……
Re:MacとWindowsのzip(オフトピ) (スコア:1)
# 僕から見ると、君は天に唾する人みたいに見えるね。
それに技術の筋から言って、Shift-JISにあわせるよりはUTF-8にあわせたほうが筋が良い。もちろん、MIME encodingとかもありだと思うが。
Re:MacとWindowsのzip(オフトピ) (スコア:0)
世の中ほとんどを占めるOS間で互換性がとれるんだから、これでいいよね。
# Mac OS X? なにそのマイナーOS?
Re:MacとWindowsのzip(オフトピ) (スコア:0)
Fedoraも多いよね。
Re:MacとWindowsのzip(オフトピ) (スコア:0)
対策としては、Mac OS X環境でWindows環境で圧縮されたファイルを展開する場合は、カレントのロケールを元に決定したOEMコードページをデフォルトにして、場合に応じてOEMコードページをユーザが指定する方法も別途提供するという方法を取るしかないでしょう。
Mac OS X環境で圧縮する場合に、ファイル名のエンコーディングをShift-JISにしてくれ!というのは日本人であるnojiri氏にとっては当然の要望なんでしょうが、Mac OS Xでは容易に作成可能な各国語混在のファイル名をどうするの?という問題が残りますよね。
アップルがShift-JISを使うつもりが無いのは当然だと思いますよ。
Re:MacとWindowsのzip(オフトピ) (スコア:1)
当時はまさかそんなことが起きると思わなかったんでしょう。UTF-8なんかが出てきたのはLHAが登場するずっと後です。I18Nを考えましょうという風潮が出てくるずっと前に開発されたソフトウェアにそれを求めるのは無理とは言わないが、酷だと思います。
もちろん、それらの圧縮形式を延命させたいのなら、I18Nを考えた上での仕様も作らなければいけないでしょうが、それを誰がやるかは謎。
vyama 「バグ取れワンワン」
Re:MacとWindowsのzip(オフトピ) (スコア:0)
当時の環境でI18Nを求めるのは酷だろうけど、フォーマットの仕様でL10Nを考慮するのが酷だという意見にはちょっと賛成できないな。
もちろん、そんな情報を保存する事に意味があるとは思っていなかっただろうし、例え1バイトでも無駄には出来なかったという話なんだろうとは思うけどね。