python - 从MS SQL中检索非英语文本

时间:2014-02-14 13:39:27

标签: python unicode pyodbc

我正在尝试使用python pyodbc模块从MS SQL Server检索非英语数据。

非英文文本如下所示

\u0905\u0939\u092e\u0926\u0928\u0917\u0930 

我正在编写一个API层,我将以json格式发送相同的文本。我期待数据以类似

的方式显示
अहमदनगर 

我是否需要在pyodbc中配置一些内容,以便正确显示数据?

我的pyodbc连接字符串是

mssql+pyodbc://user:password@machine/Database?charset=utf8

由于 Aniruddha

1 个答案:

答案 0 :(得分:0)

确保您的源文件编码为UTF-8。以下代码适用于我:

# -*- coding: utf-8 -*-
import pyodbc

connStr = (
    r'Driver={SQL Server};' +
    r'Server=127.0.0.1,52865;' +
    r'Database=myDb;' +
    r'Trusted_Connection=Yes;'
    )
db = pyodbc.connect(connStr)
sql = "SELECT word FROM vocabulary WHERE ID=1"
cursor1 = db.execute(sql)
while 1:
    row = cursor1.fetchone()
    if not row:
        break
    print row.word
cursor1.close()
db.close()

请注意第一行中的编码提示。出现在Python shell(IDLE)中的结果是

你好