Форум сайта python.su
День добрый. Извините, если похожий вопрос уже был - через поиск не нашел.
Дело в следующем. Есть БД интербейсовская, использую ubuntu (UTF-8), firebird 2.1., kinterbasdb соответственно.
Для соединения используются следующие параметры.
self.con = k.connect(
host=None, database=DBFileName,
user='sysdba', password='masterkey',
dialect=3, charset='WIN1251'
)
SELECT = r"SELECT id, fio, sex FROM card WHERE fio LIKE '%" + str(patientName) + r"%'"
self.curs.execute(SELECT)
Офлайн
С регистронезависимостью разобрался, преобразовал строку к такому виду
SELECT = r"SELECT id, fio, sex FROM card WHERE lower(fio) LIKE '%" + patientName.lower() + r"%'"
Офлайн
Продолжение. Дело действительно в кодировках. После следующего костыля
patientName.lower().decode('utf-8').encode('cp1251')
Офлайн