Windowsで文字化けしないzipを作る

Mac標準のZIP圧縮では、WINで解凍すると、日本語ファイル名が文字化けする問題が知られています。
圧縮しないで送れば問題はないのですが、DXF、aiやEPSなどのテキストファイルを送る際、送信経路でファイルが破損するのを避ける為、圧縮したい場合があります。
またウチの場合は、客先で使用しているグループ・ウェアで受信すると、テキストの添付ファイルが本文と紛れる問題が有り、"DropLHa"でLZH圧縮を使用してきました。しかし個人が相手だと、解凍ツールを用意し学習してもらわなければなりません。
 
「Windowsで文字化けしないzipを作る」が、これらの問題を解決しますので、ご紹介します。
準備として、次のサイトから"convmv-1.12.tar.gz"等をダウンロードし、解凍したフォルダの中のファイル"convmv"を取り出し、アプリケーションフォルダ直下に入れておきます。
Index of /linux/convmv
http://www.j3e.de/linux/convmv/
アップルスクリプトで作られた実際のツールと解説は、次の開発者のサイトをごらん下さい。
Windowsで文字化けしないzipを作るAppleScript
http://27-75-31.cocolog-nifty.com/blog/2007/12/windowszipapple_d900.html
元ネタは、次です。
高橋敦の「Macでいいじゃん!」第19回
http://plusd.itmedia.co.jp/pcuser/articles/0808/11/news057.html
 
このZIP圧縮の問題は、WINの日本語化の際、ZIP圧縮でファイル名がシフトJISであると仮定したことによると思っているのですが、事実については識者のご指摘をたまわりたいと思います。
なおZIP圧縮を別として、ファイル名自体の実装の問題もあるようです。
添付ファイルにおける日本語のファイル名に関して
http://www.emaillab.org/essay/japanese-filename.html
追記:
"convmv"をUNIX本来の場所にインストールし、ターミナルで使えるようにするには、次のようにするらしいです。
1. convmv-1.12.tar.gz をダウンロードしてデスクトップで解凍。
2. ターミナルで解凍したフォルダに移動して、次のコマンドを実行。
  make
  sudo make install
付記:"convmv"とはファイル名の文字コードを変換するPerlで書かれたスクリプトのこと。

投稿日 2008/08/22 10:26

返信: 1

2008/08/23 22:20 Community User への返信

古い環境(MacOSX10.3.9)ですがテスト結果から若干の問題点を
1.Unicode正規化問題:
convmv(PerlのUnicode::Normalize Moduleを使用)とMacOSXではUnicode正規化の実装が異なります。例えば「示偏」の「神」と「ネ偏」の「神」がMacOSXでは別の文字であるのに対して、convmvでは正規化時に両方とも「ネ偏」になります。よって次のような問題が発生します。
 フォルダ中に 神(ネ偏).txt と 神(示偏).txt を作成し、アーカイブを作成すると
 A.同一フォルダ内に同名ファイルが2つあることになるので解凍時に問題が出る。
 B.示偏の神がネ偏に化ける。ほかの文字は下記参照。
 問題の起こる文字(MacOSX独自のNFD例外処理)
 U+2000 から U+2FFF
 U+F900 から U+FAFF
 U+2F800 から U+2FAFF(この領域が問題!)
convmvを改造するか正規化処理をiconvに変更すればこの問題は解決できそうですが(私には無理)、受け取る側のOSで対応してなければ結局ダメということになります。回避策としてはU+2F800からU+2FAFFは使うなと頼むしかないのかな。「機種依存文字を使うな」より難易度アップ。(笑)
2.解凍アプリの問題:
本題からは外れますが、StuffIt Expander 9.0.1J(MacOSX10.3.9)で解凍したら、判別不能な文字化けが発生しました。こっちの方が深刻な問題ですね。
私感:
機種依存文字や「かな」の濁点・半濁点問題(NFD)が解決されているので良い感じですし、何よりconvmvの使い道が見つかったのがうれしいです。尚、私の環境は古いので、ムネさんの環境でも検証してみてください。ご紹介ありがとうございます。
当方のテスト環境:
MacOSX 10.3.9
perl v5.8.1
makeSjisZip Ver1.1.3
convmv-1.10
convmv-1.11
convmv-1.12(動作せず)
StuffIt Expander 9.0.1J
BOMArchiveHelper 1.0
Win98SE (VirtualPC-MacOS9)

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Windowsで文字化けしないzipを作る

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。