J'ai rencontré le même problème. En plus d'utiliser ces éléments :
cnxn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
cnxn.setencoding(encoding='utf-8')
L'ajout de ceci a résolu le problème pour moi :
cnxn.setdecoding(pyodbc.SQL_WMETADATA, encoding='utf-32le')