On sön, 2012-06-17 at 23:58 +0100, Peter Geoghegan wrote:
> So if you take the word "Aßlar" here - that is equivalent to "Asslar",
> and so strcoll("Aßlar", "Asslar") will return 0 if you have the right
> LC_COLLATE
This is not actually correct. glibc will sort Asslar before Aßlar, and
that is correct in my mind.
When a Wikipedia page on some particular language's alphabet says
something like "$letterA and $letterB are equivalent", what it really
means is that they are sorted the same compared to other letters, but
are distinct when ties are broken.
> (if you tried this out for yourself and found that I was
> actually lying through my teeth, pretend I said Hungarian instead of
> German and "some really obscure character" rather than ß).
Yeah, there are obviously exceptions, which led to the original change
being made, but they are not as wide-spread as they appear to be.
The real issue in this area, I suspect, will be dealing with Unicode
combining sequences versus equivalent precombined characters. But
support for that is generally crappy, so it's not urgent to deal with
it.