“ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory…” Hatası ve Çözümü

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