如何使用UTF-8编码的SQLite ODBC驱动程序?

时间:2015-04-25 11:42:17

标签: encoding utf-8 sqlite

我从http://ch-werner.de/sqliteodbc/下载并安装了SQLite ODBC驱动程序。 我的列表中有三个新的ODBC驱动程序

SQLite (UTF-8) Driver
SQLite ODBC Driver
SQLite3 ODBC Driver

使用SQLite3 ODBC驱动程序工作得很好。但不是UTF-8。

我假设在这种情况下工作的SQLite ODBC(UTF-8)驱动程序只是给我错误信息

Fehler beim Herstellen der Verbindung zur Datenquelle test


IM002 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Fehler beim Herstellen der Verbindung zur Datenquelle: test

英文翻译:

Error connecting to data source test
IM002 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Error connecting to data source test

我做错了什么?

3 个答案:

答案 0 :(得分:3)

SQLite Driver的提供者Christian Werner通过电子邮件帮助了我。 事实证明,在SQLite3 ODBC驱动程序的设置中,必须打开OEMCP Translation(通过单击ODBC数据源管理器中特定用户DSN的配置...)

现在所有字符都按预期显示。

答案 1 :(得分:1)

在连接字符串中,这会转换为OEMCPTranslation参数:

connStr="DRIVER={{SQLite3 ODBC Driver}};Database=<path>;OEMCPTranslation=1";

答案 2 :(得分:0)

对于我来说,今天{...}有效,但是当使用VBA将表从Access数据库复制到SQLite数据库时,{{..}}无效:

DoCmd.TransferDatabase acExport, "ODBC Database", _
"ODBC;DRIVER={SQLite3 ODBC Driver};Database=<path>;OEMCPTranslation=1;", _
acTable, <source table>, <destination table>