“ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory…” Hatası ve Çözümü
- September 8, 2011
Python’da sqlite3 modülü ile çalışırken veri girişi sırasında alttaki gibi bir hata aldım. Neyse ki programı çöpe atmadan olayı çözebildim.
Şimdi neden olduğunu kısaca anlatayım. Bildiğimiz üzere Python Türkçe karakterleri vs. “u” harfini kullandığımızda, yani unicode dediğimizde tanımaya başlıyor. Sorguya gönderdiğim karakterler şu şekildeydi:
ss.isles("gry","yıldrm","45fd432","543fd54")
Dolayısıyla ikinci tırnaklar arasındaki “ı” karakteri sorunun sebebi oldu. Elbette insalara Türkçe karakter yasağı getirecek halimiz yok. Hemen unicode olarak yazalım ve sorunumuz çözülmüş olsun.
ss.isles(u"gry",u"yıldrm",u"45fd432",u"543fd54")
- #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
- #Python hatalar ve çözümleri
- #Sqlite3 modülü türkçe karakter hatası
- #Türkçe karakterler
- #Unicode tanıtma
- #Veritabanı türkçe karakter hatası
- #Veritabanı unicode hatası