[pyar] problema con codificación en python 2.x

Rolando M Espinoza rndmax84 en gmail.com
Jue Oct 19 11:45:44 ART 2017


Tu editor de texto escribe uft8 o latin1?

Básicamente hay tres lugares que tenes que verificar que usen el mismo
encoding:

1. Qué encoding se usa para leer el archivo (ej: default del sistema, o
declarado en el header).

2. Qué encoding se usa al escribir el archivo (ej: el setting encoding de
tu editor de texto).

3. Qué encoding se usa en la salida (ej: default del lector, editor de
texto, terminal, etc).

Cuando los tres no coinciden surgen los problemas con unicode. Lo
recomendable es usar utf-8 para todo.

Si es problema de los prints en terminal, una opción es usar el envvar
PYTHONIOENCODING para cambiar el encoding del output. Sino tenes que
encodear antes de escribir al medio. Para evitar poner .encode() en todo
lado podes usar el módulo io.

Saludos
Rolando Max

OOn Thu, 19 Oct 2017 at 10:33 Miguel Barraza <correo en miguelbarraza.com.ar>
wrote:

> formateo la cadena para armar el string* y luego se lo envío al lector de
> pantalla, que si recibe la cadena en latin_1 funciona mejor.*
>
> *si yo pongo la cadena:*
> *'que no est\xe1 haciendo nada'*
> *sin la u adelante funciona. pero no tengo que encodearlo a latin_1 porque
> explota.*
>
> *pero si yo intento poner:*
> *u'que no está haciendo nada'*
> *explota en la 'á'*
>
> *voy a probar lo de *getext. gracias!.
>
> atte, Miguel
>
> *Subject:* Re: [pyar] problema con codificación en python 2.x
>
>
> ¿Qué estás haciendo con esa cadena más adelante?
>
> Porque si es un print, el problema puede ser que tu terminal no le esté
> indicando a Python que soporta unicode y por eso está tratando de hacer el
> decoding en ascii.
>
> Saludos,
> Toote
>
> 2017-10-19 9:59 GMT-03:00 Miguel Barraza <correo en miguelbarraza.com.ar>:
>
>> Buenas a todos!, me estoy volviendo loco para entender el unicode pero me
>> está superando. estoy usando py2.7 de 32 bits en win 7 y debo encontrar una
>> solución en python 2 ya que estoy usando pilas engine y solo funciona en
>> python 2.
>>
>> estoy desarrollando un juego (un rts), accesible con lectores de
>> pantalla. el lector para verbalizar cadenas se las tengo que mandar
>> codificadas en 'latin_1'.
>>
>> mis script los tengo codificado en utf8, pongo en la cabezera de mis
>> archivos:
>> # -*- coding: utf-8 -*-
>>
>> pero cuando llega a esta linea explota:
>> u'que no está haciendo nada'
>> la única forma que encontré es poniendo en forma de bits:
>> u'que no est\xf1 haciendo nada'
>> aunque vi en el video de facundo de la pycon que debería ponerlo con la
>> u, pruebo esto y explota:
>> u'que no est\u00e1 haciendo nada'
>>
>> Exception: 'ascii' codec can't encode character u'\xe1' in position 10:
>> ordinal
>> not in range(128)
>>
>> de que forma debo trabajar poniendo el texto con acentos y ñ y que python
>> se encargue de transformarlo en unicode?. o si o si debo programar
>> remplazando los acentos por esos codigos?. está bien que ponga \x.. o
>> debería trabajarlo con \u....?.
>>
>> si alguien me puede tirar un poco de luz sobre esto lo agradeceré.
>> saludos!.
>>
>> atte, Miguel
>>
>>
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> Libre
>> de virus. www.avast.com
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>> <#m_6001174243633379382_m_3685949582047583206_m_-6197137880086699574_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
> ------------------------------
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar

-- 
Sent from Gmail Mobile
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20171019/5f5b4bee/attachment-0001.html>


Más información sobre la lista de distribución pyar