Python에서 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.
'blob'대신 'text'를 사용하고 HTML 스 니펫을 압축하지 않으면 모두 잘 작동합니다 (db는 크지 만). 'blob'을 사용하고 Python zlib 라이브러리를 통해 압축하면 위의 오류 메시지가 나타납니다. 나는 주위를 둘러 보았지만 이것에 대한 간단한 답을 찾을 수 없었다.