I am summarizing options to support unicode case-sensitive:

1. Richard Hipp: icu ext
2. Aleksey Tulinov: https://bitbucket.org/alekseyt/nunicode#markdown-
header-sqlite3-extension
3. Grey's suggestion: custom collation

     Please add in options list if I missed.

     I don't have experience in custom collations and icu extension. Needs
to support Unicode case insensitive (collate nocase with uniquely indexed
column) for database for all unicode charsets without storing locale.

     I would like to know what are the disadvantages/pitfalls with icu
extension?

    Can somebody point which option is suitable for my requirement.


On Fri, Oct 24, 2014 at 11:51 PM, James K. Lowden <jklow...@schemamania.org>
wrote:

> On Fri, 24 Oct 2014 21:44:50 +0400
> dd <durga.d...@gmail.com> wrote:
>
> > >>Convert everything to upper (or lower) case brute force.
> >                Sorry. I am not clear. Can you please elaborate this.
>
> The standard function tolower(3) is locale-dependent. If your locale is
> set to match the data's single-byte encoding,
>
>         tolower('Ö') == tolower('ö') .
>
> If you are using Unicode, you have towlower(3) as defined by C99.  If
> you're using utf-8, you'll want to call ivonv(3) first to convert the
> string to an array of wint_t.
>
> Plug that into the xCompare function of a custom collation, and you
> have your own case-insensitive matching capability.
>
> --jkl
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to