Converts a string into a collation key that can be compared with other collation keys produced by the same function using strcmp().
The results of comparing the collation keys of two strings
strcmp() will always be the same as comparing the two
original keys with g_utf8_collate().
Note that this function depends on the [current locale][setlocale].
A UTF-8 encoded string.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string.
str, in bytes, or -1 if