Найти - Пользователи
Полная версия: sqlLite. Работа с Юникодом
Начало » Python для новичков » sqlLite. Работа с Юникодом
1 2
helm2004
Здравствуйте!
У меня есть в БД(sqlLite3) записи в юникоде(cp1251) на украинском языке.
Когда я делаю выборку из БД то мне возвращает символы в крякозябле. Как декодировать обратно?
PS. Python 2.5, OS WindowsXP
    def in_db_lang_text(self):
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
потом пишу такое:
lan=self.in_db_lang_text()
print lan
выдает такое:
(1, u'\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430', u'Ukrainian', u'\u0412\u0438\u0431\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430', u'\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447:', u'\u041f\u0430\u0440\u043e\u043b\u044c:')
wonderfulll
helm2004
У меня есть в БД(sqlLite3) записи в юникоде(cp1251)
так в юникоде или cp1251?
helm2004
А хрен его знает, даю полный сурс записи в БД:
# -*- coding: cp1251 -*-
import sqlite3

db = sqlite3.connect('films.db')
cursor=db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT,'pass' TEXT, 'path_cover' TEXT, 'path_screen' TEXT, 'path_cont' TEXT,\
'lang' INTEGER )")
cursor.execute("CREATE TABLE IF NOT EXISTS contact('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT, 'tel_mob' TEXT, 'photo' TEXT, 'film list' TEXT)")
cursor.execute("CREATE TABLE IF NOT EXISTS quality_films('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT)")
cursor.execute("CREATE TABLE IF NOT EXISTS genre_films('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT)")
cursor.execute("CREATE TABLE IF NOT EXISTS types_of_media('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT)")
cursor.execute("CREATE TABLE IF NOT EXISTS films('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT, 'year' INTEGER, 'description' TEXT, 'cover' TEXT, 'screens' TEXT, \
'types_of_media' INTEGER, 'size' INTEGER, 'nunber_cd' INTEGER, 'genre_films' TEXT, \
'quality_films' INTEGER)")
cursor.execute("CREATE TABLE IF NOT EXISTS lang('id' INTEGER PRIMARY KEY AUTOINCREMENT, \
'name' TEXT, 'name_EN' TEXT, 'usersWindowTitle' TEXT, 'user_choice_text' TEXT,\
'pass_choice_text' TEXT )")
try:
cursor.execute("INSERT INTO users(id,name) VALUES(1,'admin');")
cursor.execute(u"INSERT INTO lang(id,name,name_EN,usersWindowTitle,user_choice_text,\
pass_choice_text) VALUES(1,'Українська','Ukrainian','Виберить користувача','Користувач:',\
'Пароль:');")
except Exception:
print "lklklkkl"
db.commit()

cursor.close()
db.close()
sypper-pit
нужно еще конфиг sqlite
igor.kaist
helm2004
У меня есть в БД(sqlLite3) записи в юникоде(cp1251) на украинском языке.
cp1251 это не есть юникод…
sypper-pit
нужно еще конфиг sqlite
O_o у sqlite есть конфиг?!
helm2004
Чуваги, ай ем сорри, может я не правильно вопрос задал, но, мне нужно чтоб запись из БД следуещего типа превратилась в читабельную:
1, u'\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430', u'Ukrainian', u'\u0412\u0438\u0431\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430', u'\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447:', u'\u041f\u0430\u0440\u043e\u043b\u044c:')
ятак понимаю, что это юникод.
sypper-pit
igor.kaist
sypper-pit
нужно еще конфиг sqlite
O_o у sqlite есть конфиг?!
У всего есть конфиг :) а к БД это тоже относится :)
sypper-pit
helm2004
Чуваги, ай ем сорри, может я не правильно вопрос задал, но, мне нужно чтоб запись из БД следуещего типа превратилась в читабельную:
1, u'\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430', u'Ukrainian', u'\u0412\u0438\u0431\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430', u'\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447:', u'\u041f\u0430\u0440\u043e\u043b\u044c:')
ятак понимаю, что это юникод.
тут нужно перекодировку делать из utf8 в cp1251
igor.kaist
sypper-pit, нет у нее конфига :) или я что то пропустил…
sypper-pit
igor.kaist
нет у нее конфига
всё зависит от ОС и какие параметры стоят на ней , тип файловой системы :) а с конфигом что то загнул , сори :)
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