Sto cercando di eseguire subprocess.call() con il nome del file unicode, e qui è semplificata:Unicode nome del file da python subprocess.call()
n = u'c:\\windows\\notepad.exe '
f = u'c:\\temp\\nèw.txt'
subprocess.call(n + f)
che solleva famoso errore:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8'
La codifica per utf-8 produce un nome file errato e mbcs passa il nome file come new.txt senza accento
Non riesco proprio a leggere su questo argomento confuso e girare in cerchio. Ho trovato qui molte risposte per molti problemi diversi in passato, così ho pensato di unirsi e chiedere aiuto me
Grazie
A seconda del sistema operativo in uso, cosa succede se si utilizza latin-1 o cp1252 come codifica? –
Hai specificato la codifica del file sorgente? –
il codice sorgente è codificato utf: # - * - codifica: utf-8 - * - Io uso il trucco con Latino-1 di volta in volta ma non posso in questo caso: 1. Ho bisogno anche di altri caratteri che non sono in latino-1 2. Sfortunatamente non funziona con sottoprocesso - lo stesso errore è stato sollevato, tu ho codificato entrambe le stringhe con la stessa codifica latin-1 Grazie per tutte le risposte – otrov