From: Max I. <ma...@uc...> - 2004-11-30 10:31:08
|
Leif K-Brooks wrote: > I'm working on a database-heavy Web application. I really like > SQLObject's features, so I would like to use it; unfortunately, the lack > of Unicode support is a real problem. I would imagine that this could be > fixed fairly easily by subclassing StrCol, but I'm really not familiar > enough with SQLObject's internals to do it myself. Has anyone else tried > that? Are there plans to natively support Unicode in SQLObject 0.6 or > later? I have invented a rather crudge way to handle this: def getstring(name): def getter(self): value = getattr(self, "_SO_get_" + name)() if type(value) == type(''): value = value.decode('utf8') return value return getter def setstring(name): def setter(self, value): if type(value) == type(u''): value = value.encode('utf8') getattr(self, "_SO_set_" + name)(value) return setter class User(SQLObject): name = StringCol(length=96, default='') _get_name = getstring('name') _set_name = setstring('name') This solution provides convertion from Unicode (used throughout the probram) to the utf-8 encoding accepted by SQLObject. Obviously, this is far from ideal. Therefore I'd like to see how the others deal with this problem. Btw, Oleg's proposal about getting rid of sqlobject ad-hoc escaping can possibly solve the Unicode problem as well. |