- - PR -
ダウンロードで文字化け
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-22 10:40
Windows XP SP2
JDK jdk1.5.0_06 Tomcat 5.5.17 サーバ・クライアント 同環境 サーブレット側で filename="振込個人" out=1 が設定されていて fileName = java.net.URLEncoder.encode( (filename + ( out == 1 ? ".csv" : ".xls")), "UTF-8" ); p.response.setContentType("application/octet-stream;charset=Windows-31J"); p.response.setHeader("Content-Disposition","attachment; filename=" + fileName ); と処理すると IE6.0 では "振込個人.csv"で FireFox 1.5.0.9 では "%E6%8C%AF%E8%BE%BC%E5%80%8B%E4%BA%BA-6.csv" と化けてしまします。 なにか対策はないでしょうか? | ||||||||||||
|
投稿日時: 2007-02-22 11:02
ブラウザによって挙動が変わるのであれば、 ブラウザの判断をして、処理を変えるしかないでしょう。 http://www.hajimeteno.ne.jp/i-mode/user_agent.html | ||||||||||||
|
投稿日時: 2007-02-22 13:23
レスありがとうございます。
ブラウザ毎のコーディングはできればしたくないです。 それなら個別の処理をおこなわず、制限事項となる可能性もあります。 するとしても、FireFoxでは、どのような記述をすれば日本語ファイル名が正しく 送信できるでしょう。 fileName = (filename + ( out == 1 ? ".csv" : ".xls")); ではだめですよね。 日本語はあきらめて、1バイト文字で送るべきでしょうか? | ||||||||||||
|
投稿日時: 2007-02-22 14:24
私もFireFoxなんて殆ど使わない口なので、
調べないと解りません・・・。 FireFoxの仕様の問題だと思いますから、 FireFoxのサイトを見るとかしてみましょう。 個人的には、FireFoxなんて微々たるシェアなので、 そんなもの無視して良いんじゃないかと思います。 ターゲットとしているユーザーに、 FireFoxを使うような方々入るなら別ですが。 | ||||||||||||
|
投稿日時: 2007-02-22 14:43
http://www.wsdeveloper.com/viewtopic.php?p=149
こちらが参考になるでしょうか。 | ||||||||||||
|
投稿日時: 2007-02-22 15:01
こんにちは。割り込み失礼します。
直接回答は判りませんが、日本語ファイル名にこだわる理由って何でしょう。 閑話休題
社内用、あるいは自社の提供する仕組みならこの判断はありでしょうが、 受託したケースだと拙いと思いますよ。
冒頭の質問の回答にも因りますが、個人的にはこれが無難な方法かと思います。 | ||||||||||||
|
投稿日時: 2007-02-22 15:42
だからターゲットとしているユーザーに、 FireFoxを使う方が入るなら別だと言ってますよね? | ||||||||||||
|
投稿日時: 2007-02-22 16:56
あれ、また言葉足らずでしたか・・・。
微妙な論点の違いだと思いますが「ターゲットとしているユーザー」と言うより このシステムの「開発の経緯」を中心に考えた場合の開発の姿勢を考慮したコメント と捉えて頂きたいです。 ・・・上手く説明できませんが、同じことを伝えるにも
上記表現(一部誤変換と思われる部分を修正)ではなく > ターゲットとしているユーザーに > FireFoxを使うような方々が居るなら別ですが、 > 個人的には、FireFoxなんて微々たるシェアなので、 > 無視できる範囲じゃないかと思います。 こういう表現だったら茶々入れてませんでした。 # これ以上は脱線させたくないので、後はPMで願います。 |
1|2|3
次のページへ»