Python'da SQLite3 kullanarak, UTF-8 HTML kod parçacığının sıkıştırılmış bir sürümünü saklamaya çalışıyorum.
Kod şuna benzer:
...
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)))
Hangi noktada hatayı alırsınız:
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" yerine "metin" kullanırsam ve HTML parçacığını sıkıştırmazsam, her şey yolunda gider (db olsa da büyüktür). 'Blob' kullandığımda ve Python zlib kitaplığı aracılığıyla sıkıştırdığımda, yukarıdaki hata mesajını alıyorum. Etrafa baktım ama bunun için basit bir cevap bulamadım.