Ao usar o driver Unicode do PostgreSQL, você precisa chamar
setencoding
e setdecoding
conforme explicado aqui
. # Python 3.x
cnxn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
cnxn.setencoding(encoding='utf-8')
Se você estiver usando o driver "ANSI" do PostgreSQL, talvez ainda precise chamar esses métodos para garantir que o conjunto correto de caracteres de byte único (também conhecido como "página de código", por exemplo,
windows-1252
) é usado para SQL_CHAR.