Проблема кодирования в C # - PullRequest
0 голосов
/ 08 октября 2018

Я получаю данные из хранимой процедуры и создаю текстовый файл, ниже приведен мой код для преобразования данных в текстовый файл путем вызова этого метода.

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 с разделителем Û :

enter image description here

, но некоторые файлы меняют разделитель на л:

enter image description here

Я не понимаю, почему некоторые файлы имеют правильную кодировку, а некоторые - неправильную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...