Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2012, 07:54
zaidegue
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 18 años, 9 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.