[odb-users] supporting Chinese?
Boris Kolpackov
boris at codesynthesis.com
Mon Aug 27 08:01:30 EDT 2012
Hi,
In the future please keep your replies CC'ed to the odb-users mailing
list as discussed in the posting guidelines:
http://www.codesynthesis.com/support/posting-guidelines.xhtml
yb947835908 at gmail.com writes:
> Hi,Boris! I'm using Sqlite.As you may know, it's not difficult to write
> some codes to make some conversions so that we could use Chinese words on
> the Sqlite database. But I don't think those codes works on ODB because of
> the generating-code thing. Actaully, I'm totally lost,I don't even know
> where to start with, to write the conversion-codes. So, have you got any
> ideas?
The SQLite C API allows one to execute Unicode statements as long as
they are encoded in UTF-8. This means that you can use Unicode table
and column names as long as you specify them in UTF-8. I modified the
'hello' example to use letter 'é' (e with acute, UTF-8 2-byte encoding
is 0xC3, 0x88) in both table and column names:
#pragma db object table("p\xC3\x88rson")
class person
{
...
#pragma db column("ag\xC3\x88")
unsigned short age_;
};
Everything seems to work fine. So if you want to use Chinese in your
table/column names with SQLite, then you will need to get their UTF-8
encodings and specify those in the table/column pragmas.
Boris
More information about the odb-users
mailing list