Ho risolto il problema.
Per prima cosa ho aggiunto NLS_LANG=.AL32UTF8
come variabile di ambiente nel sistema in cui è installato OracleIn secondo luogo ho passato il parametro encoding e nencoding nella funzione di connessione di cx_Oracle come di seguito.
cx_Oracle.connect(username, password, connection_string,
encoding="UTF-8", nencoding="UTF-8")
Questo problema è discusso anche qui su https://github.com/oracle/python- cx_Oracle/issues/157