Okay, here's a first quick hack for Unicode support. There are a few caveats. * I didn't consider very hard how to specify the encoding. You can set it in the config file or in a function call request.response.set_encoding(). I have not yet tried the latter. * I ignored the faster C version of TemplateIO and friends altogether and simply raise ImportError when importing it to force the Python version. * I made some token changes to form/form.py but they haven't been tested. In fact, the only two tests I've performed so far are def freddie [html] (request): u'Fr\xe9ddie Kr\xfcger' and def freddie (request): return u'Fr\xe9ddie Kr\xfcger' Pretty thorough, huh?I'll try some other stuff over the weekend (like overriding encoding within a function and mixing strings and unicode objects in the same function). * There's a bad hack in htmltext, the asstring() method. Maybe I should have named it ass_string() instead. Someone smarter than me can figure out how to avoid messing up an otherwise nice class. Fortunately, it's only called once. * I reorganized the code in Publisher.publish() a bit to keep from duplicating the code which chooses between string, unicode and htmltext objects. I think it's okay, but probably needs a glance. I also renamed the 'object' variable to 'obj'. There's a context diff against 0.6.1 at: http://manatee.mojam.com/~skip/python/quixote.diff Skip