On Apr 19, 2013, at 8:54 PM, Sabarish Sridhar <[email protected]> wrote:

> There were these special characters:
> -Super script 2
> -The micro symbol(http://www.codetable.net/hex/b5)

        I've done some digging into this issue, and the problems with unicode 
support for table and column names runs deep throughout Dabo. To test, I 
created an SQLite database using all sorts of non-ASCII characters as the table 
and column names, and fixed AppWizard to at least be able to generate an app 
with that. That was the commit I made yesterday. But running that app turns up 
all sorts of places where we assume that the table and column names are 
ASCII-only. For example: this is from dCursorMixin:

 884     def getFieldVal(self, fld, row=None, _rowChangeCallback=None):
 885         """Return the value of the specified field in the current or 
specified row."""
 886         _records = self._records
 887         if not _records:
 888             raise dException.NoRecordsException(
 889                     _("No records in dataset '%s'.") % self.Table)

        The last line will throw a UnicodeDecode error if self.Table contains 
non-ASCII characters.

        I wish we had thought of testing with all characters instead of just 
ASCII when we created Dabo; now it's going to be a significant chunk of work to 
track down and fix all the places where there are assumptions like this. Just 
launching the app kicks out 7 unicode-related exceptions.

        So for now I would recommend that if you want to use Dabo, you will be 
much better off limiting your table and column names to ASCII characters. It's 
unfortunate, but that's the current reality.


-- Ed Leafe





_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to