Description of problem: When LC_COLLATE (or LANG) is set to en_GB, ru_RU, uk_UA... strcoll ignores case even for latin letters. Version-Release number of selected component (if applicable): glibc-2.4.* ... 2.5.90-12 How reproducible: always Steps to Reproduce: 1. Create text file with text: ---------- cut here ------------------ A B C a b c ---------- cut here ------------------- 2. LC_COLLATE=C sort in.txt 3. LC_COLLATE=en_GB sort in.txt Actual results: Different output from runs: C: A B C a b c (correct) en_GB: A a B b C c (inrorrect) The same results for some other locales (ru_RU, uk_UA, fr_FR) both for latin and cyr hcaracters. Similar results when using strcoll in C programs. Expected results: In any locales capital latin chars (A-Z) must be 'less' than normal (a-z). In cyrilic locales (and may be in other), must be the same rule. Additional info:
Please open any dictionary for the corresponding languages and see how things are sorted. Case is not ignored, but in most locales it is just secondary or tertiary differentiator.
It seems to be "error by design" == feature. Ok, its not a error, but it prevents from locale-aware case-sensitive comparison in most locales.