Sto usando Python 2.7.9. x32 su Win7 x64.UnicodeDecodeError quando si registra un'eccezione in Python
Quando sto accedendo un'eccezione contenente dieresi, ricevo sempre
UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 39: ordinal not in range(128)
mio codice di esempio è:
except Exception as e:
logging.error('Error loading SCMTool for repository '
'%s (ID %d): %s' % (repo.name, repo.id, e),
exc_info=1)
l'eccezione che è connesso è WindowsError: [Error 267] Der Verzeichnisname ist ungültig
. Il problema si basa sulla "ung Ü ltig" umlaut.
Dopo aver rimosso l'ultimo %s
e e
, funziona senza problemi.
Ciò accade ogni volta che viene registrata un'eccezione, pertanto la modifica di ogni registratore non è un'alternativa.
Qualcuno ha un'idea di come rendere Eccezionale restituire una stringa Unicode a livello globale?
Questo non è davvero il mio codice, sto usando Reviewboard che contiene un file di sacco con più memorizzazioni di eccezione. Non c'è modo più centrale? Dove non devo toccare tutti i file. – Seega
Forse dovresti inserire un bug nel progetto Reviewboard? –
Non esiste un modo più "centrale", si tratta di un bug relativo al modo in cui vengono gestite le eccezioni. –