"Christophe Leske" <i...@multimedial.de> schrieb im Newsbeitrag news:4a37b811.4030...@multimedial.de...
>> You write your own comparison function that would consider >> these two strings equal. See sqlite3_create_function, >> sqlite3_create_collation. > > this problem pertains not only to Zürich, but to 24000 other > entries, so > ... > How do you educate SQlite to return me > "Sào Paulo" if only "Sao Paulo" is being entered? As already advised above, the best thing is, to write a small collation-extension for sqlite, which can be registered then dynamically, before you start working with your data. An implementation of such a small collation-routine is pretty easy, if you use the right system-api-call, to compare your strings - and under windows that is CompareStringW. http://msdn.microsoft.com/en-us/library/ms647476.aspx Before passing WStringPointers to that function, you will have to convert your UTF8 into UTF16 beforehand - either *after* entering your Collation-Callback with UTF8- Data using the "officiall" MultiByteToWideChar-API, using codepage 65001. Alternatively simply define the correct SQLite-constant whilst registering your new collation within the engine, what your string-parameters (passed into your Callback) are expected to be ... - for Win-WChars use: SQLITE_UTF16 or SQLITE_UTF16LE After that you should be able, to implement this collation- callback with only a few lines of code. CompareStringW offers some nice Flags, which will be useful for you as I see it: E.g. with a combination of: NORM_IGNORENONSPACE | NORM_IGNORESYMBOLS | NORM_IGNORECASE ...and an LCID of 1033 (us-en, which should be available on each system) ...the following comparisons are all evaluated to be identical: "a" = "Ä" "Sao Paulo" = "Sào Paulo" "Cote d azur" = "Côte d'azur" and with LCID 1031 you will additionally get: "SS" = "ß" "ae" = "Ä" Not that much control as with a selfdefined mapping of course, but a whole lot more "tolerant" than what you currently have. Olaf
_______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users