我是韩语,我在将csv文件导入DataTable时遇到了问题。
我使用此代码导入csv文件。
public static DataTable ParseCSV(string path)
{
string filePath = Path.GetDirectoryName(path);
string oledbConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"text;HDR=Yes;FMT=Delimited\"";
string csvFileName = Path.GetFileName(path);
string sQuery = string.Format(" SELECT * FROM [{0}] ", csvFileName);
DataTable ds = null;
OleDbDataAdapter adt = null;
using (OleDbConnection con = new OleDbConnection(oledbConnectionString))
{
ds = new DataTable();
adt = new OleDbDataAdapter(sQuery, con);
adt.Fill(ds);
}
return ds;
}
当csv文件中没有韩语时,它非常有效。
但是,如果csv文件包含韩语单词,它会将韩语单词转换成一些奇怪的单词。
我需要你的帮助。
谢谢~~~
答案 0 :(得分:1)
请尝试以下解析器,
http://www.codeproject.com/KB/database/CsvReader.aspx
答案 1 :(得分:0)
使用UTF-8编码保存csv文件。这很可能会解决您的问题。您可以使用notepad ++快速将已保存的文件转换为UTF-8,运行导入并查看是否有效。
答案 2 :(得分:0)
它发生在我身上。我发现保存到utf-8的文件是问题所在。 你需要使用notpad或任何时候将文件保存为ANSI。 那么如果你还有问题,你需要在你需要的语言上添加这个行depand。
dataTable.Locale = CultureInfo.CurrentCulture;
或
dataTable.Locale = CultureInfo.GetCultureInfo(your culture);
这是文化信息的代码。
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo%28v=vs.71%29.aspx