# -*- coding: cp1252 -*-

José Ferney Franco ferfra en gmail.com
Jue Mayo 18 20:48:17 CEST 2006


Yo tengo en mis archivos en la primera línea la siguiente línea y no 
tengo ningún problema:

# -*- coding: iso-8859-1 -*-


Luis Rodrigo Gallardo Cruz escribió:
> On Thu, May 18, 2006 at 08:05:00PM +0200, Luis Miguel Morillas wrote:
>   
>> 2006/5/19, Tny <a.porrua en gmail.com>:
>>     
>>> en el idle aparecen los carácteres correctamente, pero en la consola no,
>>> en lugar de á aparece beta, 3/4 por ó, en lugar de é aparece Ú ¿¿??
>>>
>>> ¿sabe alguien como corregirlo?
>>>
>>>
>>>       
>>>> Hola
>>>> ¿Qué debo poner para que imprima por pantalla correctamente los
>>>> caracteres castellanos?
>>>> vocales con tildes y esas cosas
>>>>         
>
> Curso patrulla de codificaciones y python:
>
> 1. Las cadenas están hechas de caracteres.
> 2. Los caracteres se representan en memoria como (una secuencia de)
> numeros. La elección de que número representa un caracter se llama
> 'codificación'.
> 3. Diferentes sistemas usan diferentes codificaciones.
> 4. Un archivo .py es, en si mismo, una cadena que el compilador lee para
> transformar en una secuencia de instrucciones a ejecutar.
> 5. Cuando python quiere imprimir una cadena, necesita convertirla en una
> secuencia de números, que envia a algún dispositivo de salida (consola,
> widget gráfico, impresora, etc)
>
> Entonces:
> Tu programa está guardado en disco, como una secuencia de números, de
> acuerdo a *alguna* codificación, que es elegida por tu editor. La línea
> -*- coding: bla-bla-bla -*- le dice al *compilador* cual codificación es
> esa. Si tu editor sugiere alguna, lo mejor es que le creas y la dejes
> como está. 
>
> Una vez compilado y ejecutandose, hay en memoria unas cadenas de
> caracteres que, presumiblemente, quieres imprimir. En el caso default
> Python toma la cadena y la pasa por la codificación default del sistema
> y avienta los números resultantes al dispositivo de salida. Si lo que
> python cree que es la codificación default y lo que el dispositivo
> espera como codificación no coinciden, pues el dispositivo va a poner
> caracteres 'raritos'.
>
> Así que:
> a) puedes corregir la codificación default. Asomate al modulo 'site'.
> b) puedes hacer la codificación tú, evitando el default:
>   print "mi cadena".encode("mi-codificación-favorita")
>
>   Dado que suena a que estás en Win, lo más probable es que tu
>   codificación favorita sea cp1252. El resto del mundo castellano usa
>   iso8859-1 ó iso8859-15. O prueba también con utf8
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>   




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