I do not think that Interbase is supported by SQLObject. According to http://www.sqlobject.org/SQLObject.html#requirements Interbase is specifically not mentioned, although Firebird is, using the same library to connect.
According to http://kinterbasdb.sourceforge.net/ only some versions of Interbase are supported by kinterbasdb... On Mar 6, 6:24 pm, "Johnny Blonde" <[EMAIL PROTECTED]> wrote: > Hello everybody... > > I have an application with two databases (wrote about it here before). > one is a legacy database (interbase) and the application-database is a > postgreSQL. > > Everything is running smoothly in unicode from the postgreSQL to the > webbrowser back and forth, without anything specially done by me. > > But when i retreive data form the legace (interbase) database all my > special characters (german umlauts (äöüß) and others (ó etc)) are > smashed. > > what can i do about it? > > here´s all (?) my relevant code: > > ################ DEV.CFG ################### > # connection strings of the main and the legacy database > # this one works just perfectly: > sqlobject.dburi="postgres://user:[EMAIL PROTECTED]/database" > # BUT this one doesn´t: > app.legacy.dburi="interbase://user:[EMAIL PROTECTED]:3050/path/to/ > file.gdb" > > ################ LEGACY.PY ################## > from datetime import datetime > from turbogears.database import PackageHub > from sqlobject import * > > hub = PackageHub("app.legacy") > __connection__ = hub > > class Teilnehmer(SQLObject): > class sqlmeta: > fromDatabase=True > idName="NR" > > class Reisen(SQLObject): > class sqlmeta: > fromDatabase=True > idName="NR" > > ############### CONTROLLERS.PY ############# > class Root(controllers.RootController): > @expose(template="app.templates.welcome") > @identity.require(identity.in_group("admin")) > def index(self): > orte = Ort.select() # testdata being passed in > reisen = Reisen.select(LIKE(Reisen.q.REISENR, u'%SIO%')) # > testdata being passed in > import time > # log.debug("Happy TurboGears Controller Responding For Duty") > return dict(now=time.ctime(), orte=orte, reisen=reisen) > > ############## WELCOME.KID ################# > <div> > <span py:replace="orte">Orte goes here.</span> > </div> > > -- PRODUCES (EXAMPLE): > <Ort 1 code=u'LLO' name=u'Lloret de Mar' regionID=1><Ort 2 code=u'CAL' > name=u'Calella' regionID=1><Ort 3 code=u'SIO' name=u'Si\xf3fok' > regionID=2> > > <ul> > <li py:for="reisenr in reisen"> > <!-- this one works as it contains no special > character --> > <span py:content="reisenr.REISENR">Page Name > Here.</span> > <!-- but this one doesn´t as it contains > strings like > "Siófok" --> > <span py:content="reisenr.ZIEL">Ziel > here.</span> > </li> > > and finally the > ################## ERROR TRACEBACK ################## > Page handler: <bound method Root.index of > <tagderabrechnung2.controllers.Root object at 0x015C55F0>> > Traceback (most recent call last): > File "c:\python24\lib\site-packages\CherryPy-2.2.1-py2.4.egg\cherrypy > \_cphttptools.py", line 105, in _run > self.main() > File "c:\python24\lib\site-packages\CherryPy-2.2.1-py2.4.egg\cherrypy > \_cphttptools.py", line 254, in main > body = page_handler(*virtual_path, **self.params) > File "<string>", line 3, in index > File "c:\python24\lib\site-packages\TurboGears-1.0.1-py2.4.egg > \turbogears\controllers.py", line 334, in expose > output = database.run_with_transaction( > File "<string>", line 5, in run_with_transaction > File "c:\python24\lib\site-packages\TurboGears-1.0.1-py2.4.egg > \turbogears\database.py", line 302, in so_rwt > retval = func(*args, **kw) > File "<string>", line 5, in _expose > File "c:\python24\lib\site-packages\TurboGears-1.0.1-py2.4.egg > \turbogears\controllers.py", line 351, in <lambda> > mapping, fragment, args, kw))) > File "c:\python24\lib\site-packages\TurboGears-1.0.1-py2.4.egg > \turbogears\controllers.py", line 391, in _execute_func > return _process_output(output, template, format, content_type, > mapping, fragment) > File "c:\python24\lib\site-packages\TurboGears-1.0.1-py2.4.egg > \turbogears\controllers.py", line 82, in _process_output > fragment=fragment) > File "c:\python24\lib\site-packages\TurboGears-1.0.1-py2.4.egg > \turbogears\view\base.py", line 131, in render > return engine.render(**kw) > File "c:\python24\lib\site-packages\TurboKid-0.9.9-py2.4.egg\turbokid > \kidsupport.py", line 174, in render > return t.serialize(encoding=self.defaultencoding, output=format, > fragment=fragment) > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \__init__.py", line 299, in serialize > raise_template_error(module=self.__module__) > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \__init__.py", line 297, in serialize > return serializer.serialize(self, encoding, fragment, format) > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \serialization.py", line 105, in serialize > text = ''.join(self.generate(stream, encoding, fragment, format)) > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \serialization.py", line 630, in generate > for ev, item in self.apply_filters(stream, format): > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \serialization.py", line 163, in format_stream > for ev, item in stream: > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \parser.py", line 219, in _coalesce > for ev, item in stream: > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \serialization.py", line 478, in inject_meta_tags > for ev, item in stream: > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \parser.py", line 177, in _track > for p in stream: > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \filter.py", line 30, in apply_matches > item = stream.expand() > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \parser.py", line 106, in expand > for ev, item in self._iter: > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \parser.py", line 177, in _track > for p in stream: > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \parser.py", line 227, in _coalesce > text += to_unicode(value, encoding) > File "c:\python24\lib\site-packages\kid-0.9.5-py2.4.egg\kid > \parser.py", line 204, in to_unicode > return unicode(value, encoding) > TypeError: function takes exactly 5 arguments (1 given) > > how to prevent this error and how to ensure a straight handling of the > character encoding of the legacy database? - the legacy-database > vendor (producer of the horrible database schema) told me that there > was no character set defined during database creation. > > Any ideas? > > Thanks a lot for your help, > Frank > </ul> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears?hl=en -~----------~----~----~----~------~----~------~--~---

