Codecs para consola Windows

Rafael Villar Burke pachi en mmn-arquitectos.com
Vie Mar 11 11:40:42 CET 2005


Marcos Perez wrote:

> Hola a todos,
>   en una aplicación por consola para Windows, me encuentro que al 
> hacer print de cualquier cadena que tenga acentos o caracteres por 
> encima de 128, estos salen estropeados. Intento hacer un:
>  print "El niño saltó".encode("cp850")
>   por ejemplo, y da el error:
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xfa in position 
> 17: ordinal not in range(128)
>
> ¿Alguna sugerencia?
>
Lee antes como unicode y luego usa la codificación que quieras...

encoding = locale.getpreferredencoding()
cp850conv = lambda x : unicode(x, encoding).encode('cp850')
print cp850conv("El niño saltó")

Saludos,

Pachi




Más información sobre la lista de distribución Python-es