Почему fetchall() не может вытащить русское слово из базы данных?
Пишет мне о проблемах с кодировкой UTF-8. А кто его, вообще, просит кодировать-перекодировать чего-то в UTF-8? Ведь в самой базе, если её открыть блокнотом - всё сохраняется, на русском языке, без проблем.

Можно заставить скулятину укладывать данные в базу и извлекать их наружу в cp1251 без выкрутасов?
Что-нибудь ввиде:
# -*- coding: cp1251 -*- & к тебе скулятина это тоже относится! -*-

Да, ошибку он мне выдаёт в таком коде:
for i in c.fetchall():
тыры-пыры

До тыры-пыры дело не доходит.

----------------------------------------------------------------------
Сколько я не делаю DROP TABLE, данные (хоть и перестают считываться всякими fetchall'ами) физически остаются в файле и, соответственно, занимают место на диске. Как дропнуть эти данные безвозвратно и напрочь? Чтоб духу их не осталось?

Last edited WedPMMSKEMSK0OctE_October+0300ROctPMMSK

По поводу особождения места: http://www.google.com/search?q=sqlite%20drop%20table - шестой результат

Насчёт перекодировки я не знаю, я вообще с sqlite не работал ни разу, да и на мускуле эту кухню забыл т.к. давно юзаю джанговский ORM + не вожусь с гимором типа cp1251, а юзаю везде UTF-8.
Попробуйте написать послек коннекта к БД "SET NAMES cp1251", в мускуле такое работало...может и тут поможет.
По-немецки цацки-пецки, а по-русски бутерброд!
Я по-английски плоховато, к сожалению...

С кодировками этими тоже не очень-то знаком. UTF-8 русский-то понимает? Я попробовал указать coding: UTF-8. Проглотил питон это на пару с скулайтом, но потом в гридовскую строчку выдал мне "непереводимую игру слов с использованием местных диалектов".
Ну тогда учите английский, программист без знания английского на уровне чтения тех. документации - это нелепость.
Лепость-нелепость, а программировать надо. ФоксПро изучил и питон изучу, несмотря на недостаточное знание английского.
FoxPython
Почему fetchall() не может вытащить русское слово из базы данных?
Пишет мне о проблемах с кодировкой UTF-8. А кто его, вообще, просит кодировать-перекодировать чего-то в UTF-8? Ведь в самой базе, если её открыть блокнотом - всё сохраняется, на русском языке, без проблем.
Не знаю, у меня всегда всё работало. Ему AFAIR плевать на кодировку, так что дело в чём-то другом.

FoxPython
Сколько я не делаю DROP TABLE, данные (хоть и перестают считываться всякими fetchall'ами) физически остаются в файле и, соответственно, занимают место на диске. Как дропнуть эти данные безвозвратно и напрочь? Чтоб духу их не осталось?
vacuum

Без документации таки никуда, а она на английском.
>Лепость-нелепость, а программировать надо. ФоксПро изучил и питон изучу, несмотря на недостаточное знание английского.

)) вперед и с песней!

а по по поводу скулайта я неуверен что он вообще ест кодировки отличные от UTF8.
по крайней мере здесь http://www.sqlite.org/version3.html про "некошерные" кодировки ничего не сказано.
А написать полторы лишние строчки на весь проект для конвертации кодировок - вовсе не выкрутас. имхо.

про удаление (и английский тоже)
http://www.sqlite.org/faq.html#q12
возможно вы найдете добровольца чтобы перевел вам эти 6 строк.
Кстати, какая либа используется для работы с базой?
FoxPython
Почему fetchall() не может вытащить русское слово из базы данных?
Пишет мне о проблемах с кодировкой UTF-8. А кто его, вообще, просит кодировать-перекодировать чего-то в UTF-8? Ведь в самой базе, если её открыть блокнотом - всё сохраняется, на русском языке, без проблем.

Можно заставить скулятину укладывать данные в базу и извлекать их наружу в cp1251 без выкрутасов?
Что-нибудь ввиде:
# -*- coding: cp1251 -*- & к тебе скулятина это тоже относится! -*-

Да, ошибку он мне выдаёт в таком коде:
for i in c.fetchall():
тыры-пыры

До тыры-пыры дело не доходит.

----------------------------------------------------------------------
Сколько я не делаю DROP TABLE, данные (хоть и перестают считываться всякими fetchall'ами) физически остаются в файле и, соответственно, занимают место на диске. Как дропнуть эти данные безвозвратно и напрочь? Чтоб духу их не осталось?
А какую ошибку выдает?
Пример есть? =)
Вообще она работает тока с юникодом. А то что иногде она умудряется немного работать с cp1251 - это не фича, это недосмотр разработичков %)

Я все строки какие кидаю в нее - перевожу в юникод:
типа
u"insert bla-bla..."
u"select bla-bla... "
unicode("select bla-bla")
и прочее...
Catsnake
Кстати, какая либа используется для работы с базой?
Э-э-э, делаю так: import sqlite3 as db
потом это db и использую. Какая тут либа, как-то и не в курсе...

----А какую ошибку выдает?
Ну, ругается, что не может перевести в UTF-8 текст из базы, который тут же в тексте этой ошибки и преспокойно выдаёт на русском.
Счас просто не помню дословно, а воспроизвести заново не могу по техническим причинам.
Вобщем, типа такого: Сannot decode "Великий и могучий" to UTF-8

----возможно вы найдете добровольца чтобы перевел вам эти 6 строк.
Cпасибо!
И могу с гордостью заявить, что эти 6 строк я самостоятельно прочитал и понял без труда. Тут моего английского вполне хватило. :)