@bellli

Python 3.x + pymssql как правильно работать с кириллицей?

Добрый день. В python новичок. Два дня гуглю этот вопрос безрезультатно.
Дело вот в чём: необходимо подключиться к бд sqlexpress2008. Выполнить запросс. Обработать результат. Все действия выполняются в Python 3.4 IDLE.
Что делаю:
....
cur=con.cursor(as_dict=True)
cur.execute('SELECT ID, Name FROM dbo.pList WHERE ID = 1;')
for row in cur:
	print("id=%d, name=%s" % (row['ID'], row['Name'])) # Результат id=1, name=Èâàíîâ	

cur.execute(b'SELECT ID, Name FROM dbo.pList WHERE ID = 1;'.decode('utf-8').encode('cp1251'))
for row in cur:
	print("id=%d, name=%s" % (row['ID'], row['Name'])) # Результат id=1, name=Èâàíîâ

Единственное что удалось.
>>> a
'Èâàíîâ'
>>> b=a.encode()
>>> c=b.decode('cp866')
>>> c
'├И├в├а├н├о├в'
>>>

Возможно кто то уже сталкивался с подобным? Сравнение в бд - Cyrillic_General_CI_AS
Возможно необходимо предоставить какую-либо инф?
  • Вопрос задан
  • 1806 просмотров
Решения вопроса 1
@bellli Автор вопроса
>>> a
'Èâàíîâ'
>>> b=a.encode('latin1')
>>> c=b.decode('cp1251')
>>> c
'Иванов'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lega
Так же можете попробовать pyodbc (py2, py3), несколько лет его использую, под linux работает стабильно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы