Um einen String als Text in UTF 8 mit BOM zu speichern, muss vor dem eigentlichen Response.Write noch die Präambel geschrieben werden
context.Response.BinaryWrite(Encoding.UTF8.GetPreamble());
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.ContentType = "application/octet-stream";
context.Response.AddHeader("Content-Disposition", "attachment; filename=somefile");
context.Response.BinaryWrite(Encoding.UTF8.GetPreamble());
context.Response.Write(GetStringContent());
Kommentare zum Snippet