我正在將文本寫入TextWriter
。我想UTF-16字節順序標記(BOM
)出現在輸出:如何在寫入TextWriter時輸出字節順序標記?
public void ProcessRequest(HttpContext context)
{
context.Response.ContentEncoding = new UnicodeEncoding(true, true);
WriteStuffToTextWriter(context.Response.Output);
}
除輸出不包含字節順序標記:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 06 Sep 2012 21:09:23 GMT
X-AspNet-Version: 4.0.30319
Content-Disposition: attachment; filename="Transactions_Calendar_20120906.csv"
Cache-Control: private
Content-Type: text/csv; filename="Transactions_Calendar_20120906.csv"; charset=utf-16BE
Content-Length: 95022
Connection: Close
JobName,ShiftName,6////09////2012 12::::00::::00 АΜ,...
我如何告訴TextWriter
編寫標記?
注意:本2nd paramter in UnicodeEncoding
:
context.Response.ContentEncoding = new UnicodeEncoding(true, true);
byteOrderMark
類型:System.Boolean
真正指定Unicode字節順序標記設置;否則,虛假。
到底是什麼'WriteStuffToTextWriter'你可能必須有指定你的'StreamWriter' –
編碼你說的是什麼使得它不包含一個BOM你有的代碼? –
我與@JonHanna。另外,你是否嘗試過創建一個控制檯應用程序,並將相同的東西直接寫入文件並查看它的外觀?畢竟,在你的網絡服務器和你的瀏覽器之間會發生一些lof * stuff *。 – aquinas