Abra o terminal e dispare o comando abaixo:
export LC_ALL="en_US.UTF-8"
Eu tenho a pergunta exata como esta, mas não há solução. Eu tentei, mas não funciona
Como corrijo meu problema de localidade?
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX
É por causa da incompatibilidade en_US.UTF-8 e en_US.utf8?
Como consertar?
Abra o terminal e dispare o comando abaixo:
export LC_ALL="en_US.UTF-8"
Esse mesmo problema (LC_CTYPE = UTF-8, que está errado) pode acontecer quando você faz o login em ssh de um Mac para uma caixa linux, e seu terminal automaticamente define variáveis de ambiente. Há uma caixa de seleção para isso. Desmarque isso e você está pronto para ir. No iTerm, ele está na guia Terminal e & gt ;.
Eu tive o problema semelhante e adicionei as linhas abaixo no meu arquivo /etc/default/locale
:
LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
Eu peguei este post: Como corrijo meu problema de localidade?
apenas com esse trabalho para mim
sudo dpkg-reconfigure locales
sudo locale-gen
A saída do comando locale
indica que você tem esta linha incorreta em seu ambiente:
LC_CTYPE="UTF-8"
("UTF-8" não é um nome de local válido.)
Geralmente vem de /etc/default/locale
. Por favor, remova essa linha, se estiver lá, e relogie.
Se não vier de lá, ele pode vir da configuração do seu shell, ou se você estiver logado remotamente via SSH, a partir da configuração da máquina cliente.
O arquivo / etc / default / locale pode ter linhas adicionais (mas desnecessárias): Exemplo de arquivo pode ser assim:
# File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_IN:en
Para classificar e gerar e reconfigurar com êxito as localidades, remova ou comente todas as linhas desse arquivo, exceto:
LANG=en_US.UTF-8
O arquivo deve finalmente se parecer com:
# File generated by update-locale
LANG=en_US.UTF-8
# LANGUAGE="en_IN:en
Depois disso, execute dpkg-reconfigure locales
, selecione en_US.UTF-8 quando solicitado para selecionar a localidade, e você deve estar pronto para ir. Você receberá uma mensagem Generation complete.
quando o processo estiver concluído.
Este comando salvou minha vida
sudo echo "LC_ALL=en_US.UTF-8" >> /etc/environment
sudo echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
sudo echo "LANG=en_US.UTF-8" > /etc/locale.conf
sudo locale-gen en_US.UTF-8
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
Consegui fazer isso sozinho ao migrar arquivos de ponto de diretório inicial para uma nova máquina, e não consegui identificar a causa por algum tempo devido à pesquisa de arquivos para LC_
, mas não LOC
.
O arquivo ~/.bashrc
que eu copiei tinha o seguinte:
export LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
(o valor particular aqui foi devido a experiências anteriores com o GNU Guix na máquina antiga; mas o fato relevante é simplesmente que a variável de ambiente foi definida para um caminho agora inválido).
Isso resultou no seguinte erro ao executar vários programas:
Warning: locale not supported by C library, locale unchanged
E esses erros ao executar 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
Remover (ou comentar) a linha LOCPATH
resolveu meus problemas.