我使用以下代码将文件从我的服务器发送到客户端:
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 中的问题。