【发布时间】:2012-05-24 19:05:42
【问题描述】:
我正在尝试通过 ODBC 从在 Ubuntu 上运行的 Python 程序连接到同一台机器上的 MySQL 机器。 (我使用的是 ODBC 而不是 DB-API,因为我将使用不同的数据库引擎,并且我想要一种一致的方式来获取系统目录,例如 SQLTables。)
但是当我连接到我的 MySQL 数据库并运行 SQLTables 时,我的第一行得到了这个:
(u'\U0067007a\U005f0061\U00690062\U006c006c\U006e0069\U005f0067\U00750061\U006f0074\U0061006d\U00690074\U006e006f\U0063005,f\ 你'',你'\U00750061\U00680074\U0067005f\U006f0072\U00700075', u'\U00410054\U004c0042', u'')
显然这些是 unicode 值,但它们看起来像是用于非常高的代码点,而且果然,我无法将它们编码为 ASCII。我所有的表名都应该是 ASCII。
是否有一些我遗漏或错误的设置导致了这种情况?
我的 odbc.ini 是:
[ODBC Data Sources]
mu = MySQL
[mu]
Description = MySQL Database Test
Driver = MySQL
Server = localhost
Database = ccc2
Port = 3306
我的 odbcinst.ini 是
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/odbc/libmyodbc.so
FileUsage = 1
【问题讨论】:
-
顺便说一下,当我使用 ODBC 驱动程序连接到 Postgres 时,我没有遇到同样的问题。