いとさんの
IEのインターネットオプション -> 詳細設定 の「常に UTF-8として URL を送信する」
にチェックがあるとダウンロードしたファイル名が短くなります。
これを実行してみた結果、正常にファイル名を取得できるようになりました!!
システムの大幅な変更なく無事目的を達成できました。皆様に感謝いたします。
みなさん、丁重なレスをありがとうございます。
なるほど、やはり、IEとOSの仕様のようですね。
Netscapeでは問題ないのですか! うーん、早速
試してみます!! 非常に有益な情報をありがとう
ございました。
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どこかにファイル名の長さ制限があってひっかかるのでしょうか?
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とか
これならファイルをコピーするくらいの時間で終わるのであっという間です
ご参考までに(^ー^)フフッ
estima さん、
その話にHTTPサーバ(AN HTTPD)は関係しません。 HTTPサーバは(普通は)ファイルの中身を送るだけで、ファイル名には関知しませんから。
IE以外のブラウザやダウンロードツールを使ってみればすぐわかることだろうと思います。
もっともIEでどういう仕組みでそうなってしまうのかはよくわかりませんね。
シフトJISで2バイト文字だからといって内部的にも2バイトとは限らないのですが、それにしてもどういう処理をしているのかはよくわかりません。
過去ログの
>http://homepage1.nifty.com/yito/namazu/gbook/20010322.0945.html
はファイル名の長さによってダウンロードしたファイルのサイズがおかしくなることがある、という話ですから、ファイル名が短くなる話とは違いますよね(?)。
ちょっと追加。
FAQ139番
http://homepage1.nifty.com/yito/namazu/gbook/20010322.0945.html
ここにも同様のカキコがありますね。ここでは80バイト程のファイル名でも
OKだったという報告があります。基本的に録画した番組名がそのままファイル名
となり、日付や時刻情報が記号で括られています。つまり、記号、数字、スペース、
日本語の混ざった可変長変態ファイル名(w という状況なのです。
具体的には
おーれーはジャイアン!ガキ大将!!ほんわかパッパほんわかパッパ.zip
これを保存しようとすると
おーれーはジャイアン!ガキ大将!!.zip
に変えられてしまいます。ですが、2バイト文字x17で34バイトですよね?
うーん、IEの仕様かどうか見極めるには....どうしたら...
早速のレスをありがとうございます。
IEの仕様ですか。うーん、残念。
わざわざダウンロードツールを起動して落としたり
するのも大変だし、圧縮するのも時間かかるし...
保存先ダイアログで実際の名前で保存させるように
すればOKなんですけどねぇ。
勉強になりました。ありがとうございます。
estimaさん
これは多分IEの仕様だと思います
DLツールを使ったときは大丈夫だったような、気がします
(よく知らないので詳しい人、説明お願いします)
一応私がやってる対応策を!
ファイルを圧縮して(ZIPやLZH、GCAなど)おけば、
DLしたファイル名は途中で切れても、
解凍すればちゃんとしたファイル名になります
^^
直接再生させたいなら話は別ですが・・・(・_|ちら
AN HTTPD をホームファイルサーバとして使用させていただいております。
そこでちょっと問題があるのですが、あるホストの特定のディレクトリを
公開し、そこから必要なファイルを抜き出そうとしているのですが
ファイル名が長いとダウンロード時に短い名前に変換されて保存されます。
具体的には
[20021215] おはよう!今日のわんこ 題101匹目 子犬のちーちゃん.mpg
なんてファイルを保存しようとすると全角16文字程度で切られてしまいます。
(切られる文字数に法則性があるのかは不明)
これは AN HTTPDの仕様なのでしょうか???