Lorsque vous utilisez le pilote Unicode de PostgreSQL, vous devez appeler setencoding
et setdecoding
comme expliqué ici
.
# Python 3.x
cnxn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
cnxn.setencoding(encoding='utf-8')
Si vous utilisez le pilote "ANSI" de PostgreSQL, vous devrez peut-être encore appeler ces méthodes pour vous assurer que le jeu de caractères à un octet correct (alias "page de code", par exemple, windows-1252
) est utilisé pour SQL_CHAR.