[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Locales y mayúsculas y minúsculas



Un saludo a la lista. A ver si alguno es capaz de explicarse cómo sucede
esto en mi sistema.

Resulta que tengo estas locales:

$ locale
LANG=es_ES.UTF-8
LANGUAGE=
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=

Vamos, que mi sistema está configurado en castellano y utf-8. Todo me
marcha bien, pero he intentado lo siguiente y no he obtenido el
resultado esperado:

$ tr '[:lower:]' '[:upper:]' <<<"adiós"
ADIóS
$ awk '{print toupper($0)}' <<<"adiós"
ADIóS

O sea, el sistema no es capaz de saber que la mayúscula de la ó es la Ó.
De hecho, no es capaz de saber que "ó" es una letra:

$ tr -d '[:alpha:]' <<<"adiós"
ó

Sin embargo, tengo mi sistema (LC_CTYPE en concreto) en utf8, ¿no
debería ser capaz?

python sí funciona bien:

$ python3 -c 'print("adiós".upper())'
ADIÓS

-- 
   e non l'arbitrio de femina lieve,
che sempre inchina a quel che men far deve.
                  --- Ludovico Ariosto ---


Reply to: