我正在从存储过程中获取数据并创建一个文本文件,下面是通过调用此方法将数据表转换为文本文件的代码。
StreamWriter str = new StreamWriter(filename, false, Encoding.Default);
if (writeWithColumns)
{
string Columns = string.Empty;
foreach (DataColumn column in datatable.Columns)
{
Columns += column.ColumnName.Trim() + delimiter;
}
str.WriteLine(Columns.Remove(Columns.Length - 1, 1));
foreach (DataRow datarow in datatable.Rows)
{
string row = string.Empty;
foreach (object items in datarow.ItemArray)
{
row += items.ToString().Trim() + delimiter;
}
str.WriteLine(row.Remove(row.Length - 1, 1));
}
str.Flush();
str.Close();
}
我面临的问题是,在转换某些文件时,我得到了正确的ANSI格式,并带有Û分隔符:
但某些文件将分隔符更改为л:
我不明白为什么有些文件编码正确而有些文件编码不正确。