アカウント名:
パスワード:
0x5c は \、0x7c は | ですから、これ単体で見るとどちらも元々ファイル名として利用できない文字です。こちらは普通に Shift_JIS の取り扱い問題ではないでしょうか。
なお、Web サーバ側にファイル名が Shift_JIS になるように置いてみた場合に 2byte 目が 0x5c となる文字で試してみたところ、確かに IE7 で名前は変わってしまいましたが、同じ文字でも UTF-8 ならコードが変わるためそのままの名前でダウンロードできました。なので、リンク先にある「※本現象は、インターネットディスクのWebビュー利用に限らず、一般サイトからのファイルダウンロードでも発生します。」はちょっと言いすぎな気がします。
なので、リンク先にある「※本現象は、インターネットディスクのWebビュー利用に限らず、一般サイトからのファイルダウンロードでも発生します。」はちょっと言いすぎな気がします。
ナンセンスさに関しては、「\\||.zip」なんてファイル名を付けることのナンセンスさと同じだという程度には理解していますよ。
ところで、UTF-8 の場合、マルチバイト文字は全て 8bit 目が 1 になるはずなのですが、マルチバイト文字の一部に 0x5c や 0x7c が存在するパターンってあるのでしょうか。
それと、Shift_JIS で応答を返したところで正確にファイル名を要求するにはパーセントエスケープ (URL エスケープ) で参照する必要があるのですが、これはつまりファイルシステム上に Shift_JIS で記録する必要があります。
で、日本語のファイル名を Shift_JIS で Web 向けに公開する際に付けるのって一般的な事なのでしょうか。
特に文句を言うつもりはないのですが、既に解が分かっている (Shift-JIS 以外の 0x5c や 0x7c といったコードを利用しない) 問題なので、既存の移行は大変かもしれませんが、新規のものや移行計画は立てやすいかと思います。
一応、一段噛ませる (応答を UTF-8 に変換するものの、ファイルへのアクセスは Shift_JIS に変換する等) 形でこの問題はサーバサイドで回避できますから。
もちろん、うまくハンドリングできない IE7 の問題なのは間違いありませんが、今後主流になるのが見えているブラウザに対し、今から対応を考えるのは商業的に悪くない筈なので。(むしろ放置する方が問題)
なるほど、そのように検証されましたか。私は単に Web サーバの領域に "噂.zip" を置いて試しました。パーセントエスケープでの形で参照したり、directory index での参照 (パーセントエスケープと同等ですが) で確認し、"[1].zip" なんてファイル名にされるのは確認しました。
Content-Disposition では問題が無いのであれば、普通に作られているダウンロードサイトでは問題がなさそうですね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
IE7の文字処理問題 (スコア:0)
Windows Internet Explorer 7でのご利用について
http://internetdisk.jp/rules/idisk_env.html [internetdisk.jp]
これとは別物なのですか?
Re:IE7の文字処理問題 (スコア:1)
0x5c は \、0x7c は | ですから、これ単体で見るとどちらも元々ファイル名として利用できない文字です。こちらは普通に Shift_JIS の取り扱い問題ではないでしょうか。
なお、Web サーバ側にファイル名が Shift_JIS になるように置いてみた場合に 2byte 目が 0x5c となる文字で試してみたところ、確かに IE7 で名前は変わってしまいましたが、同じ文字でも UTF-8 ならコードが変わるためそのままの名前でダウンロードできました。なので、リンク先にある「※本現象は、インターネットディスクのWebビュー利用に限らず、一般サイトからのファイルダウンロードでも発生します。」はちょっと言いすぎな気がします。
Re:IE7の文字処理問題 (スコア:0)
全くそう思えません。internetdiskに限らず、shift-jisで応答を返す類似のWebサイト全般について同じことが言える、というのは事実ですよね。
Atsushi Eno
Re:IE7の文字処理問題 (スコア:1)
ナンセンスさに関しては、「\\||.zip」なんてファイル名を付けることのナンセンスさと同じだという程度には理解していますよ。
ところで、UTF-8 の場合、マルチバイト文字は全て 8bit 目が 1 になるはずなのですが、マルチバイト文字の一部に 0x5c や 0x7c が存在するパターンってあるのでしょうか。
それと、Shift_JIS で応答を返したところで正確にファイル名を要求するにはパーセントエスケープ (URL エスケープ) で参照する必要があるのですが、これはつまりファイルシステム上に Shift_JIS で記録する必要があります。
で、日本語のファイル名を Shift_JIS で Web 向けに公開する際に付けるのって一般的な事なのでしょうか。
Re:IE7の文字処理問題 (スコア:0)
Re:IE7の文字処理問題 (スコア:0)
おっと、おっしゃる通り、これはutf-8の正確な実装においてはあり得ないですね。失礼しました。
望ましいかどうかは別として、他にあり得ないと言って文句を言える程ではないと思います。
Atsushi Eno
Re:IE7の文字処理問題 (スコア:1)
特に文句を言うつもりはないのですが、既に解が分かっている (Shift-JIS 以外の 0x5c や 0x7c といったコードを利用しない) 問題なので、既存の移行は大変かもしれませんが、新規のものや移行計画は立てやすいかと思います。
一応、一段噛ませる (応答を UTF-8 に変換するものの、ファイルへのアクセスは Shift_JIS に変換する等) 形でこの問題はサーバサイドで回避できますから。
もちろん、うまくハンドリングできない IE7 の問題なのは間違いありませんが、今後主流になるのが見えているブラウザに対し、今から対応を考えるのは商業的に悪くない筈なので。(むしろ放置する方が問題)
Re:IE7の文字処理問題 (スコア:0)
一般的なWebサイトではWeb上のファイル名、特にダウンロードされるファイルのファイル名はasciiのみで構成されています。
Re:IE7の文字処理問題 (スコア:1)
これを日本語にしたい場合、IE6のためには(他のバージョンは試してないからわからない)SJISにする必要が
あります。(Firefox はUTF-8)
いずれにしろ MIME エンコードする必要があるため、「噂」が入ったファイル名も手元の環境では問題なくダイウンロードできました。このサイトは生SJISで返すのかもしれませんが、HTTPヘッダに生でマルチバイト文字列を入れるのはRFC違反だったはずです。
Re:IE7の文字処理問題 (スコア:1)
なるほど、そのように検証されましたか。私は単に Web サーバの領域に "噂.zip" を置いて試しました。パーセントエスケープでの形で参照したり、directory index での参照 (パーセントエスケープと同等ですが) で確認し、"[1].zip" なんてファイル名にされるのは確認しました。
Content-Disposition では問題が無いのであれば、普通に作られているダウンロードサイトでは問題がなさそうですね。