pyodbc + MS Access(*.mdb) + UnicodeDecodeError



>我通过pyodbc连接到MS Access数据库(mdb文件)。

此数据库中的某些数据具有波兰字符(łóźćśę 等)。当我获取一些数据时,波兰字符被奇怪的字符(³,ê)替换。我尝试解码为 utf8、cp1250、cp1252、latin1、latin2,但它并没有解决我的问题(仍然字符不正确)。

谁能帮我?

现在我的解决方案是 data = data.replace('xc2xb3', 'ł')但它像地狱一样丑陋。

我有一个.mdb文件,其中包含一个名为 [vocabulary] 的表中的一些示例数据。当我启动 Access 并在数据表视图中打开表时,它如下所示:

ID  word      language  english_equiv
--  --------  --------  -------------
 5  żaglówka  Polish    sailboat

以下 Python 2.7.5 代码

# -*- coding: utf-8 -*-
import pyodbc
db = pyodbc.connect(
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};' +
    r'DBQ=C:__tmpunicodeMdbTest.mdb')
cursor1 = db.execute('SELECT [word] FROM [vocabulary] WHERE [ID]=5')
while 1:
    row = cursor1.fetchone()
    if not row:
        break
    print row.word
db.close()

在空闲外壳中成功打印以下内容

żaglówka

请注意.py文件第一行上的文件编码声明。

相关内容

  • 没有找到相关文章

最新更新