A classificação depende da localidade; Especificamente, isso depende de $LC_COLLATE
(possivelmente substituído por $LC_ALL
), retornando para $LANG
se ele não existir. O comando locale
mostrará com quais valores você está trabalhando efetivamente. Consulte man 3 strcoll
, man 3 setlocale
, etc.
LC_COLLATE=C
(ou POSIX
ou nenhuma localidade) resulta em uma comparação estrita de byte a byte.
LC_COLLATE=en_US.utf8
resulta em uma classificação de equivalência alfabética, com pontuação ignorada e caracteres dentro da mesma classe de equivalência tratados igualmente.