Используя SQLite3 в Python, я пытаюсь сохранить сжатую версию фрагмента кода HTML UTF-8.
Код выглядит следующим образом:
...
c = connection.cursor()
c.execute('create table blah (cid integer primary key,html blob)')
...
c.execute('insert or ignore into blah values (?, ?)',(cid, zlib.compress(html)))
В какой момент получится ошибка:
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
Если я использую "текст", а не "blob" и не сжимаю фрагмент HTML, он отлично работает (db является большим, хотя). Когда я использую "blob" и сжимаю через библиотеку zlib Python, я получаю вышеуказанное сообщение об ошибке. Я огляделся, но не смог найти простой ответ для этого.