Red Hat Bugzilla – Bug 103539
sort doesn't work w/ en_US locales
Last modified: 2007-04-18 12:57:18 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows ME) Opera 7.20 [en]
Description of problem:
I submitted bug #10117 in March, 2000 concerning Redhat 6.1, and it seems
nothing has changed with 9.0 (w/ default locale: en_US.utf8, or en_US.iso885915,
or just en_US). I understand that things sort properly w/ LC_ALL set to posix.
But after searching extensively in bugzilla & the usenet, I still haven't seen a
good explanation of why any locale at all (let alone en_US) would sort this
input the way it does:
Can someone use this space to explain to me and others w/ the same question why
this sort order makes sense for any en_US locality, and why RedHat has allowed
values to sort this badly for at least 3 years? I suspect a good number of
professionals blindly assume (as I did) that sort is dependable on a standard
RedHat install. Should this bug be filed somewhere else?
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. echo 3.456 > /tmp/foo; echo 34.500 >> /tmp/foo;
2. echo 345.600 >> /tmp/foo
3. LC_ALL=en_US.utf8 sort /tmp/foo
Actual Results: 34.500
Expected Results: 3.456
ISO 14651, which is the sorting standard, specifies this behaviour. You can
also find some information in the strcoll documentation. Punctuation is ignored
in your example.
In IEEE Std 1003.1, 2003 Edition, it says that the sorting "shall be performed
using the collating sequence of the current locale".
*** Bug 126131 has been marked as a duplicate of this bug. ***