This is probably invalid, just wanted to raise a potential issue with strcoll. When sorting ascii characters using their ascii codes 'A' < 'a'. Strcoll does the opposite 'a' < 'A' and 'ą' < 'Ą'. The problem with this approach is that, for performance reasons, a lot of programs use ascii comparison and fall back on strcoll when they encounter unicode characters. This results in inconsistent sorting, for example 'A' < 'a' and 'ą' < 'Ą'. Should this particular sorting rule be arbitrary, would it be possible to change it (to match ascii order)?
If you want to approximate strcoll with strcmp you must first convert the string with strxfrm.