[pyar] Una consulta mas sobre unicode

fisa fisadev en gmail.com
Vie Ene 10 18:27:19 ART 2014


Hmmm, el heading ese no tiene que ver, porque una cosa es si un objeto
es str o unicode en ejecución, otra cosa es el encoding del código
(que influye en la creación de los str que vengan como literales en el
código), y otra es el default encoding (que se usa en cosas menos
obvias). Tu problema seguramente no tiene nada que ver con lo segundo.

Los ejemplos que mostraste en respuesta a lo que yo comentaba, son
distintos a lo de antes. Antes encodeabas el name, pero en esos
ejemplos ya no. Por las dudas, copiabas y pegabas código o lo
escribías de memoria?
Me sorprende un poco el error del segundo ejemlo (en los nuevos, donde
no encodeas). Quiero mirar por qué te pasa, pero antes de meterme a
probar, me asegurás que era realmente así lo que fallaba en django?
que no hubo algún typo o diferencia en lo que pusiste en el mail.

Saludos!


El día 10 de enero de 2014, 18:15, Nicolás Rebagliati
<nicolas.rebagliati en aenima-x.com.ar> escribió:
> Listo, ya encontre el problema.
> En lugar de encodear el unicode del format tenia que encodear al unicode
> resultante
> print(u"Nombre {0}".format(stp.name).encode('utf-8'))
>
> ahi si funciona.
>
> porque sera que en la consola me funciona y en django no??
> Me esta tomando ASCII como default encoding no?
>
> lo raro es que el .py tiene el header
> # -*- coding: utf-8 -*-
>
>
> On Jan 10, 2014, at 6:09 PM, Nicolás Rebagliati
> <nicolas.rebagliati en aenima-x.com.ar> wrote:
>
>
> Y en el ejemplo específico que te explota:
>
> print(u"{0}".format(x.name.encode('utf-8')))
>
> Fijate que estás intentando meter un string encodeado (
> x.name.encode('utf-8') ) dentro de un objeto unicode ( u"{0}" ).
> Si x.name es un unicode, con qué objetivo lo encodeás, si lo querés
> meter dentro de otro unicode?
>
> Saludos!
>
> --
> fisa  -  Juan Pedro Fisanotti
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
>
> Si eso que decis, es verdad..pero me pasa igual..lo raro es que me pasas
> desde django, si lo hago por consola va todo ok:
>
> In [6]: type(stp.name)
> Out[6]: unicode
>
> In [7]: print(u"{0}".format(stp.name))
> STP Añazco
>
>
> pero si lo hago desde django:
>
>        print(type(stp.name))
>        print(u"Nombre {0}".format(stp.name))
>
> <type 'unicode'>
>
> 'ascii' codec can't encode character u'\xf1' in position 12: ordinal not in
> range(128)
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
fisa  -  Juan Pedro Fisanotti


More information about the pyar mailing list