次のコードを使用して、サーバーからクライアントにファイルを送信します。
Response.AppendHeader("content-disposition", "attachment; filename=" + FileName);
Response.ContentType = MimeType;
Response.WriteFile(PathToFile);
Response.End();
これはうまくいきます。問題は、Internet Explorer からファイルをダウンロードすると、デンマーク語の æ、ø、å などの特殊文字が間違って解釈されることです。したがって、「Test æ ø å file.txt」という名前のファイルは、「Test æ_ø_Ã¥ file.txt」としてダウンロードされます。
応答にバイト オーダー マークを追加してみました。
byte[] BOM = { 0xEF, 0xBB, 0xBF };
Response.BinaryWrite(BOM);
そして文字セットを設定します:
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
しかし、それが役に立った場合はありません。これは、Internet Explorer でのみ発生する問題のようです。