Quando si utilizza il driver Unicode di PostgreSQL, è necessario chiamare setencoding
e setdecoding
come spiegato qui
.
# 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 stai usando il driver "ANSI" di PostgreSQL, potresti comunque dover chiamare quei metodi per assicurarti che il set di caratteri a byte singolo corretto (noto anche come "codepage", ad esempio, windows-1252
) viene utilizzato per SQL_CHAR.