Da stamattina la generazione del CSV ha smesso di funzionare perchè non riesce più a leggere il file:
Causa
Il file XML conteneva dei caratteri (“ e ”) non supportati dall'encoding utilizzato di default su Windows (cioè "Windows-1252", chiamato da Python cp1252).
Rimuovendoli il programma tornava a funzionare normalmente.
Soluzione
Workaround
Un modo per ovviare a questo problema e tornare a far funzionare il programma è quello di impostare la variabile di ambientePYTHONUTF8=1 prima di eseguire lo script:
$Env:PYTHONUTF8=1; & ./easyfatt_integration.exe
Soluzione definitiva
La soluzione definitiva sarebbe usare Path.read_text(encoding='utf8') invece di Path.read_text():
Sarebbe ancora meglio se si usasse un package come charset-normalizer per riconoscere l'encoding utilizzato e usare direttamente quello in fase di lettura del file.
Problema
Da stamattina la generazione del CSV ha smesso di funzionare perchè non riesce più a leggere il file:
Causa
Il file XML conteneva dei caratteri (
“
e”
) non supportati dall'encoding utilizzato di default su Windows (cioè "Windows-1252", chiamato da Pythoncp1252
).Rimuovendoli il programma tornava a funzionare normalmente.
Soluzione
Workaround
Un modo per ovviare a questo problema e tornare a far funzionare il programma è quello di impostare la variabile di ambiente
PYTHONUTF8=1
prima di eseguire lo script:Soluzione definitiva
La soluzione definitiva sarebbe usare
Path.read_text(encoding='utf8')
invece diPath.read_text()
:https://github.com/LukeSavefrogs/danea-easyfatt/blob/085161c229ef977d02677175e29dde3a049f9e0d/src/veryeasyfatt/app/main.py#L95-L98
Sarebbe ancora meglio se si usasse un package come
charset-normalizer
per riconoscere l'encoding utilizzato e usare direttamente quello in fase di lettura del file.