Sprache: C#
Um einen String als Text in UTF 8 mit BOM zu speichern, muss vor dem eigentlichen Response.Write noch die Präambel geschrieben werden
[code]context.Response.BinaryWrite(Encoding.UTF8.GetPreamble());[/code]
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());
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());
Alte URL:
/snippet/utf-8-response-mit-byte-order-marks-bom/4906