Sử dụng SQLite3 bằng Python, tôi đang cố gắng lưu trữ phiên bản nén của một đoạn mã HTML UTF-8.
Mã trông như thế này:
...
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)))
Tại thời điểm nhận được lỗi:
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.
Nếu tôi sử dụng 'văn bản' thay vì 'đốm màu' và không nén đoạn mã HTML, nó hoạt động tốt (mặc dù db là lớn). Khi tôi sử dụng 'blob' và nén qua thư viện Python zlib, tôi nhận được thông báo lỗi ở trên. Tôi nhìn xung quanh nhưng không thể tìm thấy câu trả lời đơn giản cho câu trả lời này.