Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 30, 2013 18:14:00

dm1tri1
От: Санкт-Петербург
Зарегистрирован: 2013-04-24
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Python+PySQLite некорректное отображение данных в таблице

Добрый день!
Столкнулся с проблемой возвращения данных кириллицей в юникоде, пример взят отсюда:

# -*- coding: utf-8  -*-
from __future__ import unicode_literals
from pysqlite2 import dbapi2 as sqlite
con = sqlite.connect('users.db')                                    #подключение к базе данных
cur = con.cursor()                                                  #создание курсора для работы с БД
cur.execute('CREATE TABLE Термины(id integer, Термин char(30))')    #создание таблицы 
con.commit()
cur.execute('INSERT INTO Термины (id, Термин) VALUES(1, "Объект")') #вставка значений в таблицы
con.commit()
cur.execute('SELECT * FROM Термины')                                #вывод значений из таблицы
print cur.fetchall()                                                #вывод значений на экран

Проблема в том, что вместо значений
[(1, u'Объект')]
Python выводит:
[(1, u'\u041e\u0431\u044a\u0435\u043a\u0442')]

Отредактировано dm1tri1 (Апрель 30, 2013 18:14:58)

Офлайн

#2 Апрель 30, 2013 18:41:17

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Python+PySQLite некорректное отображение данных в таблице

если кратко, то

Container’s __str__ uses contained objects’ __repr__

Офлайн

#3 Апрель 30, 2013 18:58:45

dm1tri1
От: Санкт-Петербург
Зарегистрирован: 2013-04-24
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Python+PySQLite некорректное отображение данных в таблице

А здесь подробно?

Отредактировано dm1tri1 (Апрель 30, 2013 19:07:47)

Офлайн

#4 Май 1, 2013 03:51:49

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Python+PySQLite некорректное отображение данных в таблице

Вот вам на размышление

>>> a
[(1, u'\u041e\u0431\u044a\u0435\u043a\u0442')]
>>> a[0]
(1, u'\u041e\u0431\u044a\u0435\u043a\u0442')
>>> a[0][0]
1
>>> a[0][1]
u'\u041e\u0431\u044a\u0435\u043a\u0442'
>>> print a[0][1]
Объект



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version