此处还有一个先前的问题
Fast import of csv file into access database via VB.net 2010
我尝试在.NET应用程序(VB.NET 2010)中使用以下代码
cmd.CommandText =
"SELECT F1 AS id, F2 AS firstname " &
"INTO MyNewTable " &
"FROM [Text;FMT=Delimited;HDR=No;CharacterSet=850;DATABASE=C:\__tmp].table1.csv;"
它似乎工作,但当我在Access中打开数据库时,表格显示乱码。
我认为可能CharacterSet=850
不是我的CSV文件的正确设置。我试着搜索一个字符集列表,但我找不到它。
我的.csv文件使用UTF-8。我应该将什么用于CharacterSet编号?
答案 0 :(得分:1)
UTF-8的CharacterSet编号为CharacterSet=65001
,因此您的CommandText应为
cmd.CommandText =
"SELECT F1 AS id, F2 AS firstname " &
"INTO MyNewTable " &
"FROM [Text;FMT=Delimited;HDR=No;CharacterSet=65001;DATABASE=C:\__tmp].table1.csv;"
另请注意,此方法要求将UTF-8文件保存为而不是 BOM(字节顺序标记),这对Windows平台来说是不常见的。 (如果文件包含BOM,则第一条记录将作为空白字段导入。)