Hatena::ブログ(Diary)

aspxの日記2009 このページをアンテナに追加 RSSフィード

2009-0218 X-Powered-By: ASP.NET

ファイルをダウンロードする ASP.NET Web ページで日本語ファイル名が文字化けする

聞かれたので,回避策を伝えた。

ASP.NET 1.0, 1.1 や Internet Explorer の設定では、これらの現象を回避することはできません。ファイル名に使用する文字をご検討ください。 なお、ASP.NET Web アプリケーションにて Content-Disposition を含む HTTP ヘッダーで日本語文字列を使用する場合は、下記のように URLEncode することで、ある程度の問題を回避することができます。

ファイルをダウンロードする ASP.NET Web ページで日本語ファイル名が文字化けする

このサンプルコードって

Response.AppendHeader("Content-Disposition","attachment; filename=" & HttpUtility.UrlEncode("日本語") & ".txt")

が正解なんだよね。

こんな感じで使うと良いよ。
        Dim ShiftJisEncode As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift-JIS")

        Response.AppendHeader("Content-Disposition", _
                  "attachment; filename=" & HttpUtility.UrlEncode("価格リスト_20090301") & ".txt")
        Response.ContentType = "application/octet-stream"
        Response.BinaryWrite(ShiftJisEncode.GetBytes("品名,価格"))
        Response.BinaryWrite(ShiftJisEncode.GetBytes("ASUKA YAMATO SH,12800JPY"))
        Response.End()

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/aspx/20090218/1234934295

メモ

IIS/ASP/ASP.NET/Visual Web Developer関係の情報を追いかけています。
ASP++トップ| TIPS(Wiki) XML| コミュニティ(掲示板)| aspxの日記XML *OreAmazonSearch Beta
お問い合わせ先:
わんくま同盟 RSS feed meter for http://d.hatena.ne.jp/aspx/
*[COOL][ASP.NET2.0] Visual Web Developer 2005 日本語版は無料で入手できます!
*[blogs]Mooがおすすめする Microsoft Visual Web Developerもおすすめです。
[info]こみゅぷらすに参加しています。
?アプリケーションが UserInteractive モードで実行されていないときに⇒id:aspx:20060824#1156384125
?クリスタルレポートのKeycodev2.dll関連問題と解決方法→id:aspx:20040304
?MDBなどで「ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。」→ASP++Wiki/データを読み取る権限がありません。
?「'CDO.Message' オブジェクトにアクセスできませんでした。」と表示され、メール送信に失敗します→。」→id:aspx:20040223#p1
1111 | 01 |
1974 | 02 |
1994 | 04 |
1998 | 08 |
2001 | 06 |
2002 | 11 |
2003 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 10 | 11 |
ODO=
TRIP-A=

人気blogランキングにエントリーしました。
テクノラティプロフィール
◆Microsoft MVP(Development Platforms - ASP/ASP.NET 2005.07-2008.06)