Experimente dpkg-reconfigure locales
.
Olá. Estou recebendo alguns avisos ao executar perl
:
perl -e 'print "Hello\n";'
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Em exibição:
export LC_ALL=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
corrige os avisos para a sessão atual do shell
Existe alguma solução permanente?
Experimente dpkg-reconfigure locales
.
Então eu estava tendo exatamente esse problema e no debian isso pode ser feito com o utilitário update-locale
update-locale --reset
fará com que o arquivo /etc/default/locale
seja ignorado (simplesmente comenta a variável LANG
); resultando em locale
de:
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=C
update-locale LANG=en_US.UTF-8
definirá seu LANG
para LANG
como ... você adivinhou en_US.UTF-8
resultando em locale
gerando:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.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=
E finalmente só para cobrir todas as minhas bases ...
update-locale LANG=C
definirá seu LANG
para LANG
para C
resultando em locale
outputting:
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=
Eu coloquei isso no unix também, o que eu poderia tentar e ajudar, porque isso estava me deixando louca. TOC e tudo. -Eric