SORU
6 AĞUSTOS 2010, Cuma


sqlite3.ProgrammingError: 8-bit bytestrings yorumlayabilir bir text_factory kullandığınız sürece 8-bit bytestrings kullanmamalısınız

Python ile SQLite3 kullanarak, UTF-8 HTML kod parçacığını sıkıştırılmış bir sürümü saklamak için çalışıyorum.

Kod bu gibi görünüyor:

...
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)))

Hata en son noktası:

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.

Eğer 'metin' yerine 'leke' ve HTML parçacığını, tüm iyi çalışıyor olsa da büyük olur db () sıkıştırmak yok. daha kullanırsam 'Leke' ve Python ayrıca kütüphane ile, yukarıdaki hata mesajı alıyorum sıkıştırmak. kullandığımda Etrafa baktım ama bunun için basit bir cevap bulamadım.

CEVAP
26 EKİM 2010, Salı


Eğer sqlite bağlantısı için sqlite3, set approptiate text_factory unicode dize yerine 8-bit dizeleri kullanmak istiyorsanız:

connection = sqlite3.connect(...)
connection.text_factory = str

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • thewinekone

    thewinekone

    17 Aralık 2005
  • Tomas N

    Tomas N

    14 Kasım 2010
  • UsherVEVO

    UsherVEVO

    15 EKİM 2009