c#context.response.outputstream.write希伯来语字符



我正在尝试使用此代码将报告导出到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保存到响应中。

最新更新