C#context.Response.OutputStream.Write希伯来字符

时间:2015-05-18 11:03:24

标签: c#

我正在尝试使用以下代码将报告导出到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),但没有任何作用......

1 个答案:

答案 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?