पायथन में SQLite3 का उपयोग करते हुए, मैं 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.
अगर मैं 'ब्लॉब' के बजाय 'टेक्स्ट' का उपयोग करता हूं और HTML स्निपेट को संपीड़ित नहीं करता हूं, तो यह सभी ठीक काम करता है (हालांकि db बड़े पैमाने पर है)। जब मैं पायथन ज़्लिब लाइब्रेरी के माध्यम से 'ब्लॉब' और कम्प्रेस का उपयोग करता हूं, तो मुझे उपरोक्त त्रुटि संदेश मिलता है। मैंने चारों ओर देखा, लेकिन इस के लिए एक सरल उत्तर नहीं मिला।