Re: Re: ファイル名のマルチバイト文字対応

2011年2月18日 at 17:44

ファイルマネージャで、チェックを付けて上部のコンボボックス「ダウンロード」をクリックするとZIPファイルとしてダウンロードできるようですが、PHP Zip (ZipArchiveクラス)が使えるときは使うように変更してみました。WindowsのXAMPPでも動くようになりました。
http://hira.hopto.org/software/concrete5/mb_filename.xhtml

そのときに気づいたのですが、現状ではzipコマンドで圧縮するとき、格納するファイル名がエンコードされた名前になってしまっています。
とりあえずPHP Zipを使うときは日本語名対応を済ませましたが、PHP Zipが使えなくてzipコマンドで圧縮するときは、どうしたものかと思案しております。いちいちファイルをコピーするのも考えものですし…。

Re: Re: Re: ファイル名のマルチバイト文字対応

2011年2月18日 at 18:17
これ、MacやUnix使いの人たちは、Shift JISエンコードで圧縮されちゃうと、私たちが文字化けになっちゃう可能性ありですか?

ますます、ファイルマネージャー日本語対応を公式で行うことが怪しくなってきたという印象です。

お・・・そうだ。 site.php で、日本語エンコードの種類を define 設定できるようにするのもいいかもしれませんね。

そうだそうだ。それで解決するわ。
 

Re: Re: Re: Re: ファイル名のマルチバイト文字対応

2011年2月19日 at 0:54
これ、MacやUnix使いの人たちは、Shift JISエンコードで圧縮されちゃうと、私たちが文字化けになっちゃう可能性ありですか?

ますます、ファイルマネージャー日本語対応を公式で行うことが怪しくなってきたという印象です。


正直言って、ZIP圧縮ダウンロードなどという機能があることに今日気づきました。自分でやっときながら、まさかこうも面倒なことになるとは、という感じです。

PHP Zipを使う場合はいいですけど、zipコマンドを使う場合は格納名がサーバーの文字エンコーディングに依存したりするんですかね?(よくわかりません)
心配事はクライアントOSばかりではないのかもしれません。だんだん訳が分からなくなってきました…。

お・・・そうだ。 site.php で、日本語エンコードの種類を define 設定できるようにするのもいいかもしれませんね。

そうだそうだ。それで解決するわ。


クライアントのOS判定などをしてみてもいいかもしれませんね。Windowsでアクセスした人にはShift-JISエンコーディングのZIPを返して、LinuxだとUTF-8にするとか(LinuxだからUTF-8という決め打ちもどうかと思いますが、例えばの話)。
その辺は後からまた練りましょうsmiling

他の方も、いい案があれば教えてください。ちょっと行き詰まってるところですんで;;