Tengo scripts que imprimen mensajes por el sistema de registro o, a veces, imprimen comandos. En la consola de Windows recibo mensajes de error comoPrevenir errores de codificación en Python
Traceback (most recent call last):
File "C:\Python32\lib\logging\__init__.py", line 939, in emit
stream.write(msg)
File "C:\Python32\lib\encodings\cp850.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2019' in position 4537:character maps to <undefined>
¿Hay una manera general para que todas las codificaciones en el sistema de registro, los comandos de impresión, etc. a prueba de fallos (ignorar los errores)?
Pero si pre-codificar todas las cadenas que cambiar el tipo (a bytes) que podría cambiar su comportamiento en el ¿interior? También está en la biblioteca de códec incorporada. No puedo cambiar eso. ¿Puedo establecer una opción en el códec? – Gerenuk
Simplemente los codifica antes de imprimir/registrar, por supuesto. – schlamar
Edité mi respuesta con una solución de registro general. – schlamar