Уведомления

Группа в Telegram: @pythonsu

#1 Май 4, 2009 14:36:09

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

sqlLite и кириллица

Доброго времени суток!!!
Есть такой код, который вытягивает из sqlLite запись на украинском языке(кириллица)

# -*- coding: cp1251 -*-
import sqlite3
def in_db_lang_text():
db = sqlite3.connect('films.db')
cursor=db.cursor()
k= cursor.execute('SELECT * FROM lang WHERE id=1;')
u=""
for row in k:
u+=str(row)

cursor.close()
db.close()
return u

rewq=in_db_lang_text()
k=rewq.split(",")
s=k[3]

print s
Мне он возвращает строку следующего типа:
u'\u0412\u0438\u0431\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430'

Когда просто пишу

print u'\u0412\u0438\u0431\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430'
возвращает надпись на украинском языке. Что нужно сделать чтоб увидеть нормальную надпись?

Офлайн

#2 Май 4, 2009 14:52:10

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

sqlLite и кириллица

Смотря где увидеть….



Офлайн

#3 Май 4, 2009 18:44:25

qwer
От:
Зарегистрирован: 2009-03-30
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlLite и кириллица

может raw_unicode_escape ?



Отредактировано (Май 4, 2009 18:45:05)

Офлайн

#4 Май 4, 2009 21:23:13

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

sqlLite и кириллица

Ну куда выводить то???? В файл? GUI? Какая кодировка на выходе должна быть?



Офлайн

#5 Май 5, 2009 10:11:22

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

sqlLite и кириллица

Выводить нужно в GUI(PyQt4).Кодировка cp1251.

Офлайн

#6 Май 5, 2009 14:01:42

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

sqlLite и кириллица

helm2004, использование однобайтовых кодировок, должно караться по всей строгости закона: нарушителей надо выводить в чистое поле, ставить лицом к стене и пустать пулю в лоб, двумя очередями, чтоб всю жизнь помнили!

QtCore.QString, который ты получаешь из гуйни, замечательно переводится в unicode (unicode(KakoyNitEdit.text())), который замечательно запихтвается в sqlite3. Обратное преобразование не сложнее (QtCore.QString(cursor.fetchone())).
Класс коннекта, для столь простого действия, я приводил в соседней ветке. Воспользуйся им.

P.S. Как раз сейчас пишу на PyQt4 и использую питоний sqlite3 вместо Qt'шного QtSql



Отредактировано (Май 5, 2009 14:06:43)

Офлайн

#7 Май 5, 2009 16:49:22

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

sqlLite и кириллица

Расстреляйте меня в чистом поле! Хоть не даром :)
А лучше из-за угла из танка.
Ща опробуем. И скажем свое “Фе”.

Офлайн

#8 Май 5, 2009 23:24:15

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

sqlLite и кириллица

helm2004
А лучше из-за угла из танка.
Это не удобно: танк на бок ложить приходится, а он, сцволочь, тяжёлый…



Офлайн

#9 Май 7, 2009 20:38:27

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

sqlLite и кириллица

ZZZ
Спасибо, чтоб у тя никогда головане болела!!!!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version