@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ダウンロード日本語ファイル名の文字化けについて

1
投稿者投稿内容
4423
会議室デビュー日: 2004/05/21
投稿数: 17
投稿日時: 2004-06-10 16:12
過去のスレッドを参考に作成しましたが、半角スペースが半角のプラス「+」に変換されてしまいます。
どなたか解決方法をご存知の方、是非ご指導ください。
宜しくお願いします

過去のスレッド
myFile.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(temp))

問題
例:o8tuning-Oracle8簡単チューニング .pdf
     ↓
  o8tuning-Oracle8簡単チューニング+.pdf
dai
ベテラン
会議室デビュー日: 2001/08/28
投稿数: 85
投稿日時: 2004-06-10 17:22
まず、半角スペースを%20に置換してから、HttpUtility.UrlEncodeではどうでしょう。
4423
会議室デビュー日: 2004/05/21
投稿数: 17
投稿日時: 2004-06-14 09:50
半角スペースを%20に置換してHttpUtility.UrlEncodeを行うと%20として処理されます。

例:o8tuning-Oracle8簡単チューニング .pdf
     ↓
  o8tuning-Oracle8簡単チューニング%20.pdf


dai
ベテラン
会議室デビュー日: 2001/08/28
投稿数: 85
投稿日時: 2004-06-16 12:17
あ、ごめんなさい、間違えました。
HttpUtility.UrlEncodeして最終的に+になった文字列を、
String.Replace で%20にするのではいかがでしょう。
#本当にプラスが入っているものは半角スペースになってしまいますが。

temp = HttpUtility.UrlEncode(temp)
temp = temp.Replace("+", "%20")
myFile.AppendHeader("Content-Disposition", "attachment;filename=" + temp)
4423
会議室デビュー日: 2004/05/21
投稿数: 17
投稿日時: 2004-06-17 09:20
ご回答ありがとうございました。

ファイル名は任意に付けられているので
すべてに対して考慮することはできないようですね。

今回は
ハイパーリンクを作成して右クリックで「対象ファイルを保存する」を選択する形式で
ダウンロードを行うことにします。

1

スキルアップ/キャリアアップ(JOB@IT)