CGIファイルダウンロードで特定文字でファイル名が化ける
[上に]
[前に]
[次に]
PTAN
[E-Mail]
1999/12/13(月) 17:09:29
Win95 IE4,5環境において...
以下のPerlのCGIスクリプト(SJIS)ではファイル名「ああああ.xxx」で
保存ダイアログが表示されるのですが、「表.xxx」にすると、ファイル
名が化けてしまいます。回避方法はありますでしょうか?
#IE5では「いつもUTF-8として...」のチェックははずしています
#イントラなので、UNIXで化けるのは構いません。
========
#!/usr/local/bin/perl
$|=1;
print << "EOF";
Content-Type: text/xxx
Content-Disposition: attachment; filename=ああああ.xxx
111111
EOF
========
B-Cus
1999/12/13(月) 17:20:13
URL エンコードして %95%5C.xxx とか。
PTAN
1999/12/13(月) 17:30:02
> URL エンコードして %95%5C.xxx とか。
駄目でした...
そのままファイル名が「%95%5C.xxx」になります。
B-Cus
1999/12/13(月) 17:31:14
あら、失礼。ダメでしたか。
試してませんが、表の2バイト目の\が原因だろうから、
Content-Disposition: attachment; filename=表\.xxx
とするか、JIS か EUC で書けばいけそうな気も。
PTAN
1999/12/13(月) 17:45:58
度々すいません。
> 試してませんが、表の2バイト目の\が原因だろうから、
ですね。「噂」(895c)も駄目でした。
> Content-Disposition: attachment; filename=表\.xxx
これも化けます。
> とするか、JIS か EUC で書けばいけそうな気も。
IEは本文に関係なく、Content-Dispositionヘッダは必ず
SJIS(もしくはUNICODE?)で解釈するようで、JIS、EUCでは
化けます。
B-Cus
1999/12/13(月) 17:57:17
う〜ん、なんかどんどん遠ざかっている気もするけど、UNICODE で
\u8868.xxx (表.xxx)
\u5642.xxx (噂.xxx)
では?
ふじ
1999/12/13(月) 18:04:59
>print << "EOF";
print <<'EOF';
ではだめですか?
PTAN
1999/12/13(月) 18:27:20
> う〜ん、なんかどんどん遠ざかっている気もするけど、UNICODE で
> \u8868.xxx (表.xxx)
> \u5642.xxx (噂.xxx)
IE5で「いつもUTF-8として...」をチェックすればOKなのですが、
できればIE4で動かしたいもので....;
> print <<'EOF';
> ではだめですか?
これはだめでした。telnetでhttpdにアクセスして、クライアントまで
は"表.xxx"で来ていることは確認できています。
P初心者
1999/12/13(月) 18:51:05
ネスケ4.5でも同じ現象でしたが、
ふじさんのprint <<'EOF';で上手く行きました!
でも、IE4はダメですねぇ!
わかりません!
B-Cus
1999/12/13(月) 19:00:49
たぶんこんなんじゃ無理だろうなと思いつつ、最後の悪あがきを。
1. \ をもう一つ余分に付ける。'表\\\.xxx'。
2. filename="…" などと、ファイル名を "" で囲む。
ダメだったらレスは不要です。
P初心者
1999/12/13(月) 19:15:16
ネスケ4.5でも同じ現象でしたが、
ふじさんのprint <<'EOF';で上手く行きました!
でも、IE4はダメですねぇ!
わかりません!
PTAN
1999/12/15(水) 19:40:10
いろいろ調べてはみたのですが、やはり無理くさいですね。
結局、Unicodeで送るしかないか...IE5しか対応してないけど...
moci
1999/12/15(水) 20:06:53
メールでは時々Content-Dispositionのファイル名が
MIMEエンコードされていることがあるようです。
# デコードできないメーラではファイル名がiso2022とかになる
逆に、IEはMIMEエンコードされていることを期待しているなどと
いうことはないでしょうか。
PTAN
1999/12/15(水) 21:45:05
> 逆に、IEはMIMEエンコードされていることを期待しているなどと
> いうことはないでしょうか。
これも試してみましたが、(デコードされず)そのままファイル名
になってくれます...;;
PTAN
2000/01/14(金) 15:20:50
http://www.microsoft.com/japan/support/kb/articles/j050/8/65.htm
にバグとして、載っていました。IE5.01にしろということだそうです。
それにしても、最終更新日が1999/11/29になってるけど、12月半ばに
探した時は無かったんだけど...?????
[上に]
[前に]
[次に]