Alguns caracteres não podem ser impressos na saída padrão [duplicada]

1

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?

    
por Anne Aunyme 12.10.2016 / 10:52

2 respostas

1

O problema foi resolvido pelos seguintes comandos:

sudo update-locale LANGUAGE=fr_FR.UTF-8
sudo update-locale LANG=fr_FR.UTF-8
    
por Anne Aunyme 12.10.2016 / 15:51
1

Você também precisa se livrar desses erros de localidade gerando a localidade fr_FR.UTF-8:

sudo locale-gen fr_FR.UTF-8
    
por Gunnar Hjalmarsson 12.10.2016 / 21:37