Estoy intentando ejecutar subprocess.call() con el nombre de archivo Unicode, y aquí se simplifica:problema Unicode nombre de archivo para subprocess.call pitón()
n = u'c:\\windows\\notepad.exe '
f = u'c:\\temp\\nèw.txt'
subprocess.call(n + f)
que eleva famoso error:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8'
La codificación de utf-8 produce el nombre de archivo incorrecto, y mbcs pasa el nombre de archivo como new.txt sin acento
No puedo leer más sobre este tema confuso y giró en círculo. He encontrado aquí muchas respuestas para muchos problemas diferentes en el pasado, así que pensé para unirse y pedir ayuda a mí mismo
Gracias
Dependiendo de su sistema operativo, ¿qué ocurre si usa latin-1 o cp1252 como su codificación? –
¿Ha especificado la codificación del archivo fuente? –
el archivo fuente está codificado en utf: # - * - codificación: utf-8 - * - Utilizo el truco con latin-1 de vez en cuando pero no puedo en este caso: 1. También necesito otros caracteres que no están en latin-1 2. Desafortunadamente no funciona con el subproceso - el mismo error se produce, codifiqué ambas cadenas con la misma codificación de latin-1 Gracias por todas las respuestas – otrov