我需要解析一個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