我需要解析一个utf8编码的csv。转换后,我刚看到问题出现在BOM()字符处。我无法使用utf8编码创建避免BOM的csv,因为即使它是utf8编码,也需要解析它。如何从UTF 8编码的csv中删除BOM(?)字符?
中的任何一个,请告诉我,我怎样才能从CSV使用C#.NET删除BOM()字符..
更新:我已经加入我的代码读取因为即时通讯的CSV头在文件的开头获取BOM。
string CSVConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + ConfigurationSettings.AppSettings["CSVFolder"].ToString() + ";Extensions=asc,csv,tab,txt;Persist Security Info=False;";
using (OdbcConnection Connection = new OdbcConnection(CSVConnectionString))
{
List<string> CSVHeaders = new List<string>();
string SelectQuery = string.Format(@"SELECT TOP 1 * FROM [{0}]", CSVFileName);
OdbcCommand Command = new OdbcCommand(SelectQuery, Connection);
Connection.Open();
OdbcDataReader Reader = Command.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
int ColumnCount = Reader.FieldCount;
for (int column = 0; column < ColumnCount; column++)
{
CSVHeaders.Add(Reader.GetName(column));
}
return CSVHeaders;
}
您不需要删除BOM,只需要正确读取文件。你的代码是什么样的? – 2011-06-07 05:38:30
@ Jeff,我编辑了我的问题,代码为 – Harun 2011-06-07 05:57:22
我无法正确读取文件,因为它是作为上载到Solr的一部分读取的。如果您真的想在您的代码片段中使用csvtext驱动程序,则可以使用FileReader和FileWriter组合来创建一个Path,我需要发送没有BOM的文件,如Simon的新UTF8Encoding(false) – 2012-09-06 15:12:01