[pyar] URL Encoding

matias benedetto matias.benedetto en gmail.com
Dom Ene 23 18:08:46 ART 2011


Hola, estoy teniendo un prolema con los caracteres de una url pero no se
bien en que punto me estoy equivocando.

Lo que estoy haciendo es leer unos textos de un sitio web que tiene un Head
Html Charset de iso-8859-1.
Lo que yo hice en mi script es leerlo y guardarlo en una BD mysql en utf-8.
Para esto hago:

#decodifico
autor = autor.decode("iso-8859-1") #tambien probe utf-8 acá
#codifico para guardarlo en la BD
autor = autor.encode("utf-8")

Hasta ahi creo que va todo bien, pero en otro script leo estos mismo datos
desde la BD.
Tengo que  convertir el registro leido en una URL, lo hago asi.

autor=urllib.quote(autor, ":/")

el problema es que cuando hay caracteres especiales como los acentos la url
no se forma correctamente un ejemplo:

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)

Por si sirve la info: estoy en ubuntu 10.04, Aptana PyDev y los archivos
tienen el comentario mágico
# -*- coding: utf-8 -*-
me lei el buen articulo [0] que recomendaron aca en la lista pero no me
esclareció del todo.
A alguien se le ocurre en que punto le estoy errando?

[0] http://www.stereoplex.com/blog/python-unicode-and-unicodedecodeerror<http://www.stereoplex.com/blog/python-unicode-and-unicodedecodeerror>


Matias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110123/c52ffc56/attachment.html>


More information about the pyar mailing list