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

  • Caina Mondo Zine

    Caina Mondo

    13 EKİM 2007
  • DeAdPiXel6667

    DeAdPiXel666

    2 Ocak 2010
  • Photoshop Training Channel

    Photoshop Tr

    13 Temmuz 2012