Найти - Пользователи
Полная версия: как настроить отображение символов кирилицы из SQL запросов к MS SQL
Начало » Базы данных » как настроить отображение символов кирилицы из SQL запросов к MS SQL
1
qman
всем привет.
пишу первую прогу. Нужно получить доступ к серверу баз данных MS SQL. Написал такой код
# -*- coding: cp1251 -*-
import os, sys, locale, adodbapi, codecs
db=adodbapi.connect(“Driver={SQL Server};Server=127.0.0.1;Database=cakephp;Uid=kkk;Pwd=1;”)
c=db.cursor()
c.execute('use cakephp')
c.execute('select last_name from users ')
t= c.fetchone()
x = str(t)
print t
unicodestring = unicode(x, “cp1251”)
print x
db.close()

проблема в том что
print x
print t
выводят номера символов в юникод, а как вывести читаемые символы.???
В базе данных есть символы кириллицы, именно с такими символами возникают проблемы.

Python 2.5.1 ОС Windows XP.


P.S. убил 3 дня. что делать дальше не знаю.
pythonwin
посмотри Использование Unicode в Python
qman
спасибо
pythonwin
+ у тебя проблема в том что c.fetchone() возвращает кортеж, а тебе нужна строка => нужно
t= c.fetchone()

PS для работы с MS SQL есть для питона пакет pymssql
qman
Я нашел такое решение
c.execute('select last_name from users ')
t= c.fetchone()
print “%s”%(t)

какое правильнее решение?
ваше или мое?
почему?
pythonwin
аналогичная операция
>>> t=('name1') # заменяет t = c.fetchone()
>>> “%s”%(t)
'name1'
>>>

qman, если у тебя нужно работать с небольшими данными (по МБ и по количеству записей), то можешь посмотретьв сторону sqlobject и sqlalchemy
qman
pythonwin
тут что то я не понимаю последний пример,
итак есть код
t = ('name1')
“%s”%(t)
Если я правильно понял этот код должен вывести
'name1'
???
А разве print не нужен? Мне кажется правильнее
print “%s”%(t)
guest01
qman
А разве print не нужен? Мне кажется правильнее
print “%s”%(t)
Ну ты чего? Он же через интерпритатор запускает (в интерактивном режиме), а там print можно опускать. Об этом режиме свидетельствуют три угловых скобки “>>>” перед каждой командой. Так что не обращай на это внимание и всегда пиши интсрукцию print.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB