This Page can handle unicode objects and outputs them as Utf-8 encoded data. --md@hudora.de diff -rNubB WebKit.orig/UnicodePage.py WebKit/UnicodePage.py --- WebKit.orig/UnicodePage.py Thu Jan 1 01:00:00 1970 +++ WebKit/UnicodePage.py Tue Oct 21 13:17:38 2003 @@ -0,0 +1,29 @@ +from Page import Page + +class UnicodePage(Page): + """ + An implementation of Page supporting Unicode/utf-8 output. + """ + + ## Transactions ## + + def awake(self, transaction): + Page.awake(self, transaction) + self.setEncoding("utf-8") + + def setEncoding(self, encoding = "latin-1"): + self._encoding = encoding + contenttype = self._response.header("Content-type", default="text/html") + if contenttype.find("; charset=") > -1: + contenttype = contenttype[:contenttype.find("; charset=")] + self._response.setHeader("Content-type", "%s; charset=%s" % (contenttype, encoding)) + + ## Writing ## + def write(self, *args): + for arg in args: + self._response.write(unicode(arg).encode(self._encoding)) + + def writeln(self, *args): + for arg in args: + self._response.write(unicode(arg).encode(self._encoding)) + self._response.write('\n') Binary files WebKit.orig/UnicodePage.pyc and WebKit/UnicodePage.pyc differ