[pyar] Problema con encoding

Sergio E. Gonzalez gonzalezsergio2003 en yahoo.com.ar
Mar Jul 26 11:14:26 ART 2011


De: Andrés Gattinoni <andresgattinoni en gmail.com>
Para: Python Argentina <pyar en python.org.ar>
Enviado: lunes, 25 de julio, 2011 15:36:29
Asunto: [pyar] Problema con encoding

Hola listeros!

Me pueden ayudar a corregir este problemita de encoding?
Tengo un script en python que usa Templite para generar unos archivos
HTML a partir de un template.
Todo lo tengo en UTF-8, el template, mi script en python, etc.

Este es el código que genera el archivo HTML:

import codecs
from templite import Templite

def render (filename, template, data):
    tplfile = codecs.open(template, 'r', 'utf-8')
    temp = Templite(tplfile.read())
    tplfile.close()
    f = codecs.open(filename, 'w', 'utf-8')
    f.write(temp.render(data))
    f.close()

El tema es que por más que el archivo del template está en utf-8 y yo
leo indicándole que lo lea en utf-8, si escribo un acento en el
template falla así:

Traceback (most recent call last):
  File "process.py", line 63, in <module>
    sys.exit(main(sys.argv))
  File "process.py", line 60, in main
    render('./index.html', 'templates/index.tpl', data)
  File "process.py", line 12, in render
    f.write(temp.render(data))
  File "/home/elbarto/trabajo/clai/cd/templite.py", line 81, in render
    eval(self.__code, namespace)
  File "<templite u'<!DOCTYPE html PUBLI'>", line 55, in <module>
  File "/home/elbarto/trabajo/clai/cd/templite.py", line 87, in write
    self.__output.append(unicode(a))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
40: ordinal not in range(128)


$ file -i templates/index.tpl
templates/index.tpl: text/html; charset=utf-8

En cambio, si borro el acento, funciona todo perfecto.

Cómo puedo corregir el error?

Gracias.

Saludos,

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


More information about the pyar mailing list