Exibindo acentos no console do Linux

2

Estou tentando exibir os acentos ISO-8859-1 em um console Linux (vt). Isso costumava ser tão trivial quanto fazer:

echo -e '\xe9'

Por padrão, no CentOS 6, o item acima exibe um bloco.

Se eu executar o seguinte:

setfont lat1-16
echo -e '\xe9'

Eu recebo um reverso? em vez do esperado sotaque agudo em minúsculas.

Se eu executar o seguinte:

setfont iso01.16

Eu recebo um pequeno símbolo da casa.

Eu mexi com vários valores -m e -u, mas isso tem efeito zero na saída.

    
por Leolo 18.05.2017 / 00:52

1 resposta

2

O centos 7 (no meu test virt e presumivelmente também o Centos 6) tendem a configurar o UTF-8 por padrão, a menos que você diga ao instalador o contrário, ou reconfigure o sistema para alguma outra codificação. /root/anaconda-ks.cfg pode indicar qual idioma foi definido pela instalação:

# echo -e '\xe9' | iconv -f iso-8859-1 -t UTF-8
é
# locale
... (bunch of UTF-8 things here) ...
# grep lang /root/anaconda-ks.cfg
lang en_US.UTF-8
#

O Unicodeness pode ser desativado por meio de:

# unicode_stop
# setfont -m 8859-1
# echo -e '\xe9'
é
# 

que, esperamos, é o mesmo que no Centos 6. A partir de alguns grep ing em /etc , os arquivos /etc/sysconfig/i18n ou /etc/locale.conf parecem controlar a localidade.

    
por 18.05.2017 / 01:43

Tags