C# 如何在C中创建UTF8文件#

C# 如何在C中创建UTF8文件#,c#,encoding,C#,Encoding,根据问题“如何创建包含字节顺序标记的文件?” 显示某些字符时遇到问题,因为没有BOM表,csv查看器无法正确显示字符 谢谢你的帮助 编辑以包含代码: string attachment = string.Format("attachment; filename=results_{0}_to _{1}.csv", startDate.ToString("MM_yy_yyyy"), endDate.ToString("MM_yy_yyyy")); HttpContext.Current.Respon

根据问题“如何创建包含字节顺序标记的文件?”

显示某些字符时遇到问题,因为没有BOM表,csv查看器无法正确显示字符

谢谢你的帮助

编辑以包含代码:

string attachment = string.Format("attachment; filename=results_{0}_to _{1}.csv", startDate.ToString("MM_yy_yyyy"), endDate.ToString("MM_yy_yyyy"));
HttpContext.Current.Response.AddHeader("content-disposition", attachment);
HttpContext.Current.Response.ContentType = "text/csv";
HttpContext.Current.Response.AddHeader("Pragma", "public");

string content = GetTextFromDB();

HttpContext.Current.Response.Write(content);
HttpContext.Current.Response.End();

应该使用
编码
,例如
StreamWriter
,对任何内置代码自动执行此操作-只需确保传入的编码器配置为包含bom(默认的
编码。UTF8
包含bom)

如果您正在处理自己的
编码
->
逻辑,则需要调用
.GetPreamble()
并将这些字节写入流的开头


默认的
编码.UTF8
包括前导码;但是您可以在ctor中显式地执行此操作:
newutf8encoding(true)

发布您当前拥有的代码-您如何编写文件?