There is no ICU 5.6. Did you downloaded the 56.1 version?
Adriano Em 02/03/2016 16:41, Mark Rotteveel escreveu: > Could anyone look at this? > > Mark > > On 27-2-2016 14:00, Mark Rotteveel wrote: >> In an attempt to find an answer to a stackoverflow question >> (http://stackoverflow.com/questions/35581763/firebird-utf-8-german-phonebook-sorting), >> I installed an extra ICU library (ICU 5.6) in my Firebird 2.5.5 install. >> >> And I ran into a variety of problems. >> >> I added to /bin >> >> * icudt56.dll >> * icuin56.dll >> * icuuc56.dll >> >> And modified fbintl.conf to >> >> <intl_module builtin> >> icu_versions default 5.6 >> </intl_module> >> >> With this the statement: >> >> create collation unicode_de1 for utf8 from unicode >> case insensitive 'LOCALE=de_DE'; >> >> fails with >> SQL Message : -607 >> This operation is not defined for system tables. >> >> Engine Code : 335544351 >> Engine Message : >> unsuccessful metadata update >> Invalid collation attributes >> >> And adding the ICU version makes it work. >> >> create collation unicode_de1 for utf8 from unicode >> case insensitive 'ICU-VERSION=5.6;LOCALE=de_DE'; >> >> However using this collation does not work. For example: >> >> SELECT r.FIRSTNAME, r.LASTNAME >> FROM TABLE_NAME r order by r.LASTNAME collate unicode_de1, r.FIRSTNAME >> >> Results in error: >> SQL Message : -204 >> Undefined name >> >> Engine Code : 335544855 >> Engine Message : >> COLLATION UNICODE_DE1 for CHARACTER SET UTF8 is not installed >> >> Looking at RDB$COLLATIONS, the column RDB$SPECIFIC_ATTRIBUTES does not >> include the `ICU-VERSION=5.6` attribute. I can make it work by either >> changing fbintl.conf to >> >> <intl_module builtin> >> icu_versions 5.6 >> </intl_module> >> >> or by adding the version attribute to the collation by executing >> >> UPDATE RDB$COLLATIONS >> SET RDB$SPECIFIC_ATTRIBUTES='ICU-VERSION=5.6;LOCALE=de_DE' >> WHERE RDB$COLLATION_NAME = 'UNICODE_DE1' >> >> Is this a bug, or did I do something wrong? >> >> Now the second part of the problem: the stackoverflow question wants to >> define the German phonebook sort order. Looking at the CLDR data and the >> ICU documentation, this would mean that the locale is >> de@collation=phonebook or de__PHONEBOOK: >> >> create collation unicode_de1 for utf8 from unicode >> case insensitive 'ICU-VERSION=5.6;LOCALE=de@collation=phonebook'; >> >> However this doesn't work nor with de__PHONEBOOK: I get a "Invalid >> collation attributes" error. >> >> Is this the wrong way to create this collation, or is Firebird parsing >> the attributes incorrectly? >> >> Mark >> > > ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel