OleDbDataReader在从csv文件读取时附加非ascii字符

本文关键字:ascii 字符 在从 csv 文件 读取 OleDbDataReader | 更新日期: 2023-09-27 18:26:13

我有成功连接到csv文件并将数据读取到OleDbDataReader中的代码。唯一的问题是它在文件的开头附加了一些奇怪的字符("ï»?")。如果我以文本形式打开文件,我不会看到任何奇怪的字符。

如何避免这些字符进入我的DataReader?

下面是我使用的代码:

connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0; Data Source='{SourceFileDirectory}'; Extended Properties = '"text;HDR=YES;FMT=Delimited(,);'"";
sql = $"select * From [{fileName}]";
using (var oledbConn = new OleDbConnection(connectionString))
{
    using (var cmd = oledbConn.CreateCommand())
    {
        oledbConn.Open();
        cmd.CommandText = sql;
        using (OleDbDataReader reader = cmd.ExecuteReader())
        {
            for (int i = 0; i < reader.FieldCount; i++)
            {
                string columnName = reader.GetName(i);
            }
        }
    }
}

OleDbDataReader在从csv文件读取时附加非ascii字符

我认为这是文件的字符集编码。

您应该从类似Notepad++的程序中检查编码,然后更改它(UTF-8应该可以)

顺便说一句,我建议你使用File.ReadAllLines方法,并用分隔符

分割每一行