gpt4 book ai didi

c# - 将逗号分隔的文件另存为 txt,得到奇怪的字符

转载 作者:行者123 更新时间:2023-11-30 14:35:16 26 4
gpt4 key购买 nike

我正在使用 Web 应用程序作为开发环境,从 SQL 数据库中检索数据并将其保存为逗号分隔文件“.txt”。我遇到的唯一问题是在第一列的开头添加了一些垃圾字符。

例。 ¼¤日期,时间

尝试使用 Encoding.ASCII 和新的 UTF8Encoding(false) 但解决了这个错误。

但其余的数据是完美的。下面的代码是用来保存数据的代码。

        System.IO.StringWriter sWriter;
System.Text.StringBuilder sb = new System.Text.StringBuilder();

sWriter = new System.IO.StringWriter(sb);
string Str;

for (int k = 0; k < (grdGridView.Columns.Count); k++)
{
if (k == (grdGridView.Columns.Count) - 1)
sWriter.Write(grdGridView.HeaderRow.Cells[k].Text);
else
sWriter.Write(grdGridView.HeaderRow.Cells[k].Text + ",");
}

sWriter.WriteLine("");

for (int i = 0; i < (grdGridView.Rows.Count); i++)
{

for (int j = 0; j < (grdGridView.Columns.Count); j++)
{

Str = (grdGridView.Rows[i].Cells[j].Text.ToString());

if (Str == "&nbsp;")
Str = "";

if (j != (grdGridView.Columns.Count) - 1)
{ Str = (Str + ","); }

sWriter.Write(Str);
}
sWriter.WriteLine();
}
sWriter.Close();

// Download File Directly to Web Server
//string HtmlInfo = sWriter.ToString().Trim();
string HtmlInfo = sWriter.ToString();
string DocFileName = fileName1 + ".txt";
string FilePathName = Server.MapPath("~/Download");
FilePathName = FilePathName + "\\" + DocFileName;
File.Delete(FilePathName);
FileStream Fs = new FileStream(FilePathName, FileMode.Create);
BinaryWriter BWriter = new BinaryWriter(Fs, Encoding.GetEncoding("UTF-8"));
BWriter.Write(HtmlInfo);
BWriter.Close();
Fs.Close();

最佳答案

前导字符是 unicode Byte Order Mark .

您可以使用 new UTF8Encoding(false) 而不是 Encoding.GetEncoding("UTF-8") 来禁用 BOM 的输出。

关于c# - 将逗号分隔的文件另存为 txt,得到奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12507222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com