pyodbc在版本3+上有编码问题吗?

时间:2016-02-22 17:52:34

标签: python pyodbc

......还是只是我?我读过版本2解决的编码问题 - 我认为这是相关的。我在MSSQL服务器上没遇到问题,只是我们最新的TeraData服务器。

蟒== 3.4.3 pyodbc == 3.0.10

其他帖子建议我在connect()中尝试'CHARSET = UTF8; ENCODING = UTF8'的组合。这些都在我的DSN中,但没有产生可察觉的差异。

cnxn = pyodbc.connect("DSN={TeraData};")
cursor = cnxn.cursor()

cursor.tables()
rows = cursor.fetchall()

In [28]: rows[0].table_name, rows[0].table_name.encode('utf_16_le')

Out [28] :('扁牯䱴獩却獥楳汤',b'AbortListSession')

1 个答案:

答案 0 :(得分:1)

pyodbc 4.x大大改善了Unicode处理。版本4.0.7包含针对Teradata的特定修复程序。如果可能的话,您应该使用最新版本(撰写此答案时当前为4.0.26)。

另外,请参见this information in the pyodbc wiki