O nome "correto" é UTF-8
. No entanto, o Linux glibc normalizará internamente o nome da codificação, convertendo-o em minúsculas & removendo a maioria dos caracteres especiais, então ambas as variantes funcionarão (desde que não escapem para os sistemas BSD).
Na maioria das vezes, o sufixo .utf8
em $ LANG vem do GNOME; afaik, isso foi corrigido em 3.18.
Mas como dito acima, tanto utf8
como UTF-8
funcionarão da mesma maneira no Linux glibc - o problema vem de outro lugar. Como você não escreveu qual é o problema , , aqui está uma lista de verificação geral:
-
Será que
locale -a
(localidades disponíveis) mostra qualquer variante ? . você gerou (comlocale-gen
) as localidades depois de editar o locale.gen? -
O ambiente do emulador de terminal tem as mesmas configurações de localidade? Use
cat /proc/$(pidof xterm)/environ | tr \0 \n
para verificar o ambiente de outro processo.(Frequentemente as pessoas tentam definir envios de localidade a partir de seus arquivos
~/.bashrc
ou semelhantes, mas as variáveis de ambiente não se propagam "para cima", portanto, o resultado final.) -
O que
printf '\xe2\x99\xa5'
produz? Se mostrar uma caixa ou ponto de interrogação, significa que a fonte não possui o caractere necessário. Se ele mostrar três caracteres de lixo, isso significa que seu terminal não tem o $ LANG correto (ou simplesmente não suporta UTF-8).