C#中的编码问题

时间:2018-10-08 06:20:29

标签: c# sql .net encoding character-encoding

我正在从存储过程中获取数据并创建一个文本文件,下面是通过调用此方法将数据表转换为文本文件的代码。

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

我不明白为什么有些文件编码正确而有些文件编码不正确。

0 个答案:

没有答案