编辑: 我完全修改了这个问题,以反映我对问题的更好理解
用于获取数据库中所有表名的 PYODBC+MYSQL 命令
cursor.execute("select table_name from information_schema.tables where
table_schema='mydbname'")
结果是一个 unicode 字符串列表,每个字符串中的每个第二个字符都被省略。
information_schema
数据库是 utf8,虽然我的表名是纯 ascii 。从我的 latin1 数据库中读取工作正常。执行set character_set_* = 'utf8'
没有帮助。
从 C++/ODBC 测试程序执行相同的查询工作正常。
你知道pyodbc
字符编码是如何工作的吗?使用 utf8 数据库时它采用什么编码?
我使用 UnixODBC、python 2.6.4、pyodbc 2.1.7 在 Linux 上工作