Foros del Web » Programando para Internet » Python »

Como codificar palabras con acento de python para html

Estas en el tema de Como codificar palabras con acento de python para html en el foro de Python en Foros del Web. Hola, necesitao ayuda respecto a la siguiente situación, tengo palabras con acento en strings, mediante python genero un documento html con urls para los charts ...
  #1 (permalink)  
Antiguo 11/03/2012, 07:54
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 18 años, 10 meses
Puntos: 1
Como codificar palabras con acento de python para html

Hola, necesitao ayuda respecto a la siguiente situación, tengo palabras con acento en strings, mediante python genero un documento html con urls para los charts de google, allí no puedo ponerles acento o casi q me ignora esa palabra y no me genera el grafico. Lo que hay que hacer es codificar esas palabras pero no he podido hacerlo mediante python mismo.

ejemplo de mi cadena
https://chart.googleapis.com/chart?cht=p3&chd=t:50,20,30&chdl=ca|de|nación&chs= 340x120&chl=m|b|b

asi solo en el navegador funciona, pero no dentro de un documento html algo como esto:

<img src='https://chart.googleapis.com/chart?cht=p3&chd=t:50,20,30&chdl=ca|de|nación&chs= 340x120&chl=m|b|b' />

(necesito hacerlo así automaticamente, porque necesito generar 10 gráficos de una)

para codificar google sugiere
http://code.google.com/intl/en/apis/chart/interactive/docs/querylanguage.html#plainText

lo que en python no puedo hacer que funcione es esto:
Código:
encod={'\xe1':'%C3%A1','\xe9':'%C3%A9','\xed':'%C3%AD','\xf3':'%C3%B3','\xfa':'%C3%BA'}
encod={'á':'%C3%A1','é':'%C3%A9','í':'%C3%AD','ó':'%C3%B3','ú':'%C3%BA'}
for p in palabras:
        for k in encod.keys():            
            p.replace(k,encod[k])
me sigue devolviendo lo mismo que tenía antes, usando cualquiera de los dos diccionarios encod. Desde ya muchas gracias si alguien puede encaminarme en resolver esto.
  #2 (permalink)  
Antiguo 11/03/2012, 14:22
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Como codificar palabras con acento de python para html

Puedes usar un diccionario urllib.urlencode para crear tu query string.

Ejemplo:
Código Python:
Ver original
  1. #coding: utf-8
  2. import urllib
  3.  
  4. params = {"parm1": "canción"}
  5. print urllib.urlencode(params, doseq=True)
  #3 (permalink)  
Antiguo 11/03/2012, 21:38
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Como codificar palabras con acento de python para html

Muchas gracias razpeitia, no tengo idea como funciona eso, pero ya lo googleo a ver de que se trata y pruebo

Etiquetas: google, strings, chart
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:07.