tôi đang soạn văn bản cho một số TextWriter
. tôi muốn UTF-16 Byte Order Mark (BOM
) xuất hiện trong kết quả:Làm cách nào để xuất Đánh dấu đơn hàng Byte khi viết vào TextWriter?
public void ProcessRequest(HttpContext context)
{
context.Response.ContentEncoding = new UnicodeEncoding(true, true);
WriteStuffToTextWriter(context.Response.Output);
}
Trừ đầu ra không chứa một dấu thứ tự byte:
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 АΜ,...
Làm thế nào để tôi kể một TextWriter
để viết mã đánh dấu?
Note: Các 2nd paramter in UnicodeEncoding
:
context.Response.ContentEncoding = new UnicodeEncoding(true, true);
byteOrderMark
Loại:System.Boolean
đúng để xác định rằng một Unicode thứ tự byte nhãn hiệu được cung cấp; nếu không, false.
những gì chính xác là 'WriteStuffToTextWriter' bạn có thể có để xác định mã hóa có trong 'bạn StreamWriter' –
Điều gì làm cho bạn nói rằng nó không chứa một BOM với mã bạn có? –
Tôi đang ở với @JonHanna. Ngoài ra, bạn đã thử tạo một ứng dụng giao diện điều khiển và viết cùng một nội dung trực tiếp vào một tệp và xem nó trông như thế nào? Sau khi tất cả, một thứ * lof * xảy ra giữa máy chủ web và trình duyệt của bạn. – aquinas