AN HTTPD ゲストブック/コメント集(2002年12月17日10:31)


estima estima@hotmail.com 2002/12/18 13:51

いとさんの

IEのインターネットオプション -> 詳細設定 の「常に UTF-8として URL を送信する」
にチェックがあるとダウンロードしたファイル名が短くなります。

これを実行してみた結果、正常にファイル名を取得できるようになりました!!
システムの大幅な変更なく無事目的を達成できました。皆様に感謝いたします。


estima estima@hotmail.com 2002/12/17 23:41

みなさん、丁重なレスをありがとうございます。
なるほど、やはり、IEとOSの仕様のようですね。
Netscapeでは問題ないのですか! うーん、早速
試してみます!! 非常に有益な情報をありがとう
ございました。


いと gfh05223@nifty.com 2002/12/17 23:05

estimaさん、猫じゃらし見習い♪さん

IEのインターネットオプション -> 詳細設定 の「常に UTF-8として URL を送信する」
にチェックがあるとダウンロードしたファイル名が短くなります。

「ほんわか」の例では、UTF-8だと以下のような長いリクエストになります。

GET /%E3%81%8A%E3%83%BC%E3%82%8C%E3%83%BC%E3%81%AF%E3%82%B8%E3%83%A3%E3%82%A4%E3%82%A2%E3%83%B3%EF%BC%81%E3%82%AC%E3%82%AD%E5%A4%A7%E5%B0%86%EF%BC%81%EF%BC%81%E3%81%BB%E3%82%93%E3%82%8F%E3%81%8B%E3%83%91%E3%83%83%E3%83%91%E3%81%BB%E3%82%93%E3%82%8F%E3%81%8B%E3%83%91%E3%83%83%E3%83%91.zip HTTP/1.0 
どこかにファイル名の長さ制限があってひっかかるのでしょうか?
ちなみに Win98+IE6 ではダウンロードしたファイル名は
「おーれーはジャイアン!ガキ大将!!ほんわか.zip」 となり、Win2000/XP+IE6では
「おーれーはジャイアン!ガキ大将!!.zip」なのでブラウザのバージョンだけでなく
OSの種類も関係ありそうです。

Netscape4.78ではこんなことは起きません。


猫じゃらし見習い♪ you@tyarineko.com 2002/12/17 22:41

estimaさん
>IEの仕様かどうか見極めるには....どうしたら...
以下は、私が確認したことです
かなり推測が混じってるので、その辺はご了承くださいm(_ _)mぺこ

IEのバージョンによって文字に変化があります
IE6とIE5.5は全角日本語文字の一部が表示されますが(6と5.5で微妙に違ってますが)
IE5では、全角文字のアルファベットにされてしまいます、日本語が全くなくなります
推測するとhttpd側から正常に送られてきても、IEのほうで適当な物に変えられてしまうのかと・・・
iriaやDCさくらなどのツールでDLすれば問題ないのでブラウザ(ツール)の問題だと思われます
ネットスケープで試すとまた違った結果になるかもしれません

それと、httpdを違う物に変えて試してみました・・・・
が、全角日本語文字を扱えるhttpdがANHTTPD以外になかったので、
FTPで試してみました
やはりIEでFTPにアクセスしてDLしてみると文字が切れます
もちろんFTPツールを使えば正常にDL可能ですので、やはりIEのほうで変えられてるかと思われます

以上が、私がIEの仕様ではないかと思う推測です

>圧縮するのも時間かかるし...
違う形式に変えるだけなら無圧縮で圧縮(変な日本語w)出来る物がありますよ(GCAとか
これならファイルをコピーするくらいの時間で終わるのであっという間です
ご参考までに(^ー^)フフッ


中田昭雄 nakata@st.rim.or.jp 2002/12/17 21:25

estima さん、
その話にHTTPサーバ(AN HTTPD)は関係しません。 HTTPサーバは(普通は)ファイルの中身を送るだけで、ファイル名には関知しませんから。

IE以外のブラウザやダウンロードツールを使ってみればすぐわかることだろうと思います。

もっともIEでどういう仕組みでそうなってしまうのかはよくわかりませんね。
シフトJISで2バイト文字だからといって内部的にも2バイトとは限らないのですが、それにしてもどういう処理をしているのかはよくわかりません。

過去ログの
>http://homepage1.nifty.com/yito/namazu/gbook/20010322.0945.html
はファイル名の長さによってダウンロードしたファイルのサイズがおかしくなることがある、という話ですから、ファイル名が短くなる話とは違いますよね(?)。


estima estima@hotmail.com 2002/12/17 14:44

ちょっと追加。

FAQ139番
http://homepage1.nifty.com/yito/namazu/gbook/20010322.0945.html

ここにも同様のカキコがありますね。ここでは80バイト程のファイル名でも
OKだったという報告があります。基本的に録画した番組名がそのままファイル名
となり、日付や時刻情報が記号で括られています。つまり、記号、数字、スペース、
日本語の混ざった可変長変態ファイル名(w という状況なのです。

具体的には

おーれーはジャイアン!ガキ大将!!ほんわかパッパほんわかパッパ.zip

これを保存しようとすると

おーれーはジャイアン!ガキ大将!!.zip

に変えられてしまいます。ですが、2バイト文字x17で34バイトですよね?
うーん、IEの仕様かどうか見極めるには....どうしたら...


estima estima@hotmail.com 2002/12/17 14:15

早速のレスをありがとうございます。
IEの仕様ですか。うーん、残念。
わざわざダウンロードツールを起動して落としたり
するのも大変だし、圧縮するのも時間かかるし...
保存先ダイアログで実際の名前で保存させるように
すればOKなんですけどねぇ。
勉強になりました。ありがとうございます。


猫じゃらし見習♪ you@tayrineko.com 2002/12/17 13:34

estimaさん
これは多分IEの仕様だと思います
DLツールを使ったときは大丈夫だったような、気がします
(よく知らないので詳しい人、説明お願いします)

一応私がやってる対応策を!
ファイルを圧縮して(ZIPやLZH、GCAなど)おけば、
DLしたファイル名は途中で切れても、
解凍すればちゃんとしたファイル名になります
^^

直接再生させたいなら話は別ですが・・・(・_|ちら


estima estima@hotmail.com 2002/12/17 10:31

AN HTTPD をホームファイルサーバとして使用させていただいております。
そこでちょっと問題があるのですが、あるホストの特定のディレクトリを
公開し、そこから必要なファイルを抜き出そうとしているのですが
ファイル名が長いとダウンロード時に短い名前に変換されて保存されます。
具体的には

[20021215] おはよう!今日のわんこ 題101匹目 子犬のちーちゃん.mpg

なんてファイルを保存しようとすると全角16文字程度で切られてしまいます。
(切られる文字数に法則性があるのかは不明)

これは AN HTTPDの仕様なのでしょうか???