再来一个早先的问题
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号码?
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,则第一条记录将作为空白字段导入。)