I have been working with this in order to generate an RSS feed using web2py.
I found, XMLGenerator method does not validate if is an unicode or string type, and it does not encode accord the encoding parameter of the XMLGenerator.
I added changed the method to verify if is an unicode object or try to convert to it using the desired encoding.
Recall that the _write UnbufferedTextIOWrapper receives an unicode object as parameter.
def characters(self, content):
if isinstance(content, unicode):
self._write(escape(content))
else:
self._write(escape(unicode(content,self._encoding))) |