将编码为UTF-8的CSV文件导入Access

问题描述 投票:1回答:1

再来一个早先的问题

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号码?

csv ms-access utf-8 import ms-access-2010
1个回答
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,则第一条记录将作为空白字段导入。)

© www.soinside.com 2019 - 2024. All rights reserved.