À l'aide de SQLite3 en Python, je suis en train de stocker une version compressée d'un extrait de l'UTF-8 du code HTML.
Code ressemble à ceci:
...
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)))
À quel point obtiens l'erreur:
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.
Si j'utilise "texte" plutôt que de "blob" et de ne pas compresser le fragment de code HTML, cela fonctionne toute fine (db est grand). Lorsque j'utilise "blob" et compresser via Python bibliothèque zlib, j'obtiens le message d'erreur ci-dessus. J'ai regardé autour, mais ne pouvait pas trouver une réponse simple pour celui-ci.