[pyar] URL Encoding

Matias Graña matias.alejo en gmail.com
Dom Ene 23 22:52:07 ART 2011


2011/1/23 Matías Bellone <matiasbellone en gmail.com>:
>> autor=Abreu Orta,Joaquín
>> print urllib.quote(autor, ":/")
>> # Devuelve: Abreu+Orta%2CJoaqu%C3%ADn
>> # Cuando tendria que devolver: Abreu+Orta%2CJoaqu%EDn
>> #(esta cadena si encuentra la pagina cuando la pongo en el navegador)
>>

> Si te fijás, vos estás agarrando una cadena de bytes, decodificándola
> como iso-8859-1 y después encodeándola como utf-8. Y urllib.quote hace
> lo suyo sobre lo que vos le estás pasando.

Efectivamente, ese es el problema. Estás pasándole a urllib.quote una
cadena utf8 cuando querés pasarle una iso-8859-1 (o latin1).

>>> a=u'Joaquín'.encode('latin1')
>>> a
'Joaqu\xedn'
>>> urllib.quote(a)
'Joaqu%EDn'
>>> urllib.quote(a.decode('latin1').encode('utf8'))
'Joaqu%C3%ADn'

Matías



More information about the pyar mailing list