我正在尝试使用以下代码将报告导出到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);
但是希伯来文的内容却是胡言乱语('>''''''''''''''''')。 我试过各种编码(UTF8,Unicode,ASCII),但没有任何作用......
答案 0 :(得分:1)
您对context.Response.ContentEncoding
的更改会设置TextWriter
context.Response.Output
上的编码
使用context.Response.OutputStream
时,您需要设置GetAttachmentFilesCSVBytes
功能中使用的UTF-8编码。
另见ASP.NET: Will Saving an XmlDocument to the Response.OutputStream honor the encoding?