我正在尝试使用此代码将报告导出到CSV:
byte[] csvBytes = AttachmentFileAgent.GetAttachmentFilesCSVBytes(context.Request["appCode"], performingPerson);
context.Response.AddHeader("content-disposition", "attachment; filename=ApplicationReport_" + context.Request["appCode"] + ".csv");
context.Response.ContentType = "text/csv;charset=utf-8";
context.Response.Charset = "utf-8";
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.OutputStream.Write(csvBytes, 0, csvBytes.Length);
但是,希伯来语的内容以gibberish的形式出现(׳›¢׳›׳’'׳¢׳›׳’’׳›׳›¢)。我尝试了各种编码(UTF8,Unicode,ascii)的所有种类,但没有任何作用...
您对context.Response.ContentEncoding
的更改设置了context.Response.Output
使用的TextWriter
上的编码
使用context.Response.OutputStream
时,您需要设置GetAttachmentFilesCSVBytes
功能中使用的UTF-8编码。
另请参阅ASP.NET:将XMLDOCUMENT保存到响应中。