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

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009