ใช้ SQLite3 ใน Python ฉันพยายามจัดเก็บข้อมูลโค้ด UTF-8 HTML เวอร์ชันบีบอัด
รหัสมีลักษณะดังนี้:
...
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.
ถ้าฉันใช้ 'text' แทนที่จะเป็น 'blob' และไม่บีบอัดข้อมูลโค้ด HTML มันก็ใช้ได้ดี (db จะใหญ่) เมื่อฉันใช้ 'blob' และบีบอัดผ่านไลบรารี Python zlib ฉันได้รับข้อความแสดงข้อผิดพลาดข้างต้น ฉันมองไปรอบ ๆ แต่ไม่พบคำตอบง่ายๆสำหรับข้อนี้