2014-02-14 3 views
0

Я пытаюсь извлечь неанглийские данные из MS SQL Server с помощью модуля python pyodbc.python - Извлечение неанглийского текста из MS SQL

Не-английский текст выглядит следующим образом

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

Я сочинительство АНИ слой, в котором я буду посылать тот же текст в формате json. Я ожидаю, данные, которые будут показаны так, как

अहमदनगर 

ли мне нужно настроить что-то в pyodbc, так что данные будут отображаться правильно?

Моя pyodbc строка соединения

mssql+pyodbc://user:[email protected]/Database?charset=utf8 

Благодаря Aniruddha

+0

Какую версию pyobbc вы используете? Какая версия python? На какой платформе вы работаете? – jdhildeb

+0

Windows 7 64 бит. Python 2.7.6 pyodbc 3.0.7 – Aniruddha

ответ

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 (IDLE), является

你好 
Смежные вопросы