I have noticed that Google Toolbox for Mac replaces several SQLite built-in functions (LOWER/UPPER, LIKE, GLOB) with its own versions that handle string locales better.
So, question to everyone who has SQLite experience: have you ever had any problems with non-English locales in SQLite? Does one really have to do something to properly handle non-English alphabets? What kinds of problems are expected if I use SQLite APIs as-is?
(I’m going to use SQLite on the iPhone, but I guess it’s the same across all platforms. I’ve been using Core Data previously and never had any problems, but this time I want to switch to non-ORMed db access.)
It seems that SQLite does not care about locale at all. The only place I found a mentioning about locales is computation of
datetime('now'). But the documentation says that its behavior depends on the underlying C functions. It does store text data in unicode by default (in versions above 3.0), but the conversion to unicode is the responsibility of the client libraries.By the way, SQLite console under MS Windows is one of those rare console applications that still works as expected when you switch the console codepage to utf-8.
UPD:
Some citations from SQLite cocumentation:
one:
two:
three:
Seems like in either way you will need to compile the sqlite yourself.