- PR -

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

1
投稿者投稿内容
求知
会議室デビュー日: 2003/06/18
投稿数: 3
投稿日時: 2003-06-19 12:32
皆さん、こんにちは。ダウンロードファイル名の文字化けについて皆さんにお伺いたいんですが、

私は以下のvb.netコードを利用して、ファイルダウンロード機能を実現します。

Dim myFile As HttpResponse
myFile = Page.Response
myFile.ContentEncoding = System.Text.Encoding.GetEncoding("Shift_JIS")
myFile.ContentType = "application/download"
Dim temp As String = Server.UrlEncode("fileName")
myFile.AppendHeader("Content-Disposition", "attachment;filename=" + temp)
myFile.BinaryWrite(dreader(4)) --- dreader(4)はファイル内容のバイトストリーム
myFile.End()

[ファイルのダウンロード] ダイアログ ボックスに表示されるファイル名をデフォルトの
ファイル名とします。
しかし、ファイル名は日本語に置換した後、一部分の日本語は文字化けになります。例えば:
“製品”の表示は“製i”になって、“更新”の表示は“XV”になります;
何でこの現象が起きますか?その他の設置は要りますか?

稼働環境: window2000 Server + sp3
.net framework + sp2
IIS5.0はWebサーバとして、SQL server2000はDBサーバとします。

誰か解決方法があれば、是非ご指導ください。先にどうも有り難う御座いました。
satoc
会議室デビュー日: 2003/06/17
投稿数: 3
投稿日時: 2003-06-20 11:01
こんにちわ。
レスがないようなので……。

引用:

求知さんの書き込み (2003-06-19 12:32) より:
Dim myFile As HttpResponse
myFile = Page.Response
myFile.ContentEncoding = System.Text.Encoding.GetEncoding("Shift_JIS")
myFile.ContentType = "application/download"
Dim temp As String = Server.UrlEncode("fileName")
myFile.AppendHeader("Content-Disposition", "attachment;filename=" + temp)
myFile.BinaryWrite(dreader(4)) --- dreader(4)はファイル内容のバイトストリーム
myFile.End()
snip
しかし、ファイル名は日本語に置換した後、一部分の日本語は文字化けになります。例えば:
“製品”の表示は“製i”になって、“更新”の表示は“XV”になります;



ロケーションにASCII文字以外では理解出来ないのです。

myFile.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(temp))

とURLエンコードして下さい(^o^

でわでわ。
1

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