O problema foi resolvido pelos seguintes comandos:
sudo update-locale LANGUAGE=fr_FR.UTF-8
sudo update-locale LANG=fr_FR.UTF-8
Estou usando um servidor (por ssh) e como sou francês, gostaria de poder usar caracteres como "à", "ç" e "é". No entanto, eles simplesmente não podem ser impressos na saída padrão, seja quando pressiono a tecla correspondente no teclado (simplesmente ignora a tecla), ou quando executo um script que deve ser impresso. Por exemplo, um script Python irá aumentar:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-3: ordinal not in range(128)
Seguindo alguns conselhos, observei a localidade:
$ locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Então eu abri o arquivo / etc / default / locale, e mudei de:
LANG="C"
para
LANG=fr_FR.UTF-8
Ainda não funciona, mas uma chamada para o local agora me diz:
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
Alguma idéia de como eu poderia consertar isso?
O problema foi resolvido pelos seguintes comandos:
sudo update-locale LANGUAGE=fr_FR.UTF-8
sudo update-locale LANG=fr_FR.UTF-8
Você também precisa se livrar desses erros de localidade gerando a localidade fr_FR.UTF-8:
sudo locale-gen fr_FR.UTF-8