Estou configurando o módulo CPAN para perl no CentOs 5, e uma das perguntas é 'Seu terminal suporta UTF-8?' (parafraseado). Como eu descubro?
Estou configurando o módulo CPAN para perl no CentOs 5, e uma das perguntas é 'Seu terminal suporta UTF-8?' (parafraseado). Como eu descubro?
Respostas:
Realmente, a maneira infalível de testar é fazer o download de um arquivo de texto e colocá-lo no terminal e ver se tudo está bem.
ou, se puder, recompile o terminal ativando a opção unicode (supondo que ele tenha um).
como são $ TERM e $ LANG?
Digite isso no seu terminal:
echo -e '\xe2\x82\xac'
Se o seu terminal suportar UTF-8, ele emitirá o sinal de euro:
€
O caminho mais lânguido: siga e verifique a saída. Será um O maiúsculo com circunflexo se o terminal exibir UTF-8.
perl -le 'print "\x{c3}\x{94}"'
perl -CO -le 'print "\x{d4}"'
A maneira mais segura de disparar é usar o comando 'locale'. Ele imprimirá todas as variáveis diversas que determinam qual conjunto de caracteres usar. Por exemplo, esta é minha saída no RHEL5.3, configurada para usar apenas UTF-8 por padrão.
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
curl http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
ou
wget -O - http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Isso obviamente requer wget
ou curl
.
UTF=$(echo -e "\u263A")
if [[ ! "$UTF" =~ "A" ]] ; then
echo -n "UNICODE here!"
fi
echo
builtin suporta \u
.