Używając sterownika Unicode PostgreSQL musisz wywołać setencoding
i setdecoding
jak wyjaśniono tutaj
.
# Python 3.x
cnxn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
cnxn.setencoding(encoding='utf-8')
Jeśli używasz sterownika "ANSI" PostgreSQL, nadal możesz potrzebować wywołać te metody, aby upewnić się, że poprawny zestaw znaków jednobajtowych (czyli "strona kodowa", np. windows-1252
) jest używany dla SQL_CHAR.