Я получаю данные из хранимой процедуры и создаю текстовый файл, ниже приведен мой код для преобразования данных в текстовый файл путем вызова этого метода.
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 с разделителем Û :
, но некоторые файлы меняют разделитель на л:
Я не понимаю, почему некоторые файлы имеют правильную кодировку, а некоторые - неправильную.