
Eu tenho uma nova instalação do Ubuntu Server 16.04 e agora estou testando como ele lida com caracteres Unicode:
- Eu tenho um nome de arquivo com um caractere Unicode:
testā.txt
. Se eu pegá-lo com uma guia, ou seja$ rm tes[tab]
, um nome de arquivo correto será selecionado para o comando. - Se eu fizer isso
$ ls
, vejotest??.txt
na lista de arquivos - Se eu adicionar caracteres Unicode ao conteúdo do arquivo
$ echo āāā > test.txt
e depois fizer isso$ cat test.txt
, obtenho a saída correta. - Porém, se eu abrir o arquivo no editor nano, o conteúdo ficará assim:
^ ^ ^
. - O despejo hexadecimal
$ xxd test.txt
mostra que os caracteres Unicode estão armazenados corretamente no arquivo:c481 c481 c481 0a
O programa de terminal que estou usando (Guake) nunca teve problemas com caracteres Unicode. Em uma sessão típica de terminal local, não há nenhum dos problemas descritos acima.
Chamar env | sort | grep -E '^(LANG(UAGE)?|LC_\w*)='
dá
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ADDRESS=lv_LV.UTF-8
LC_IDENTIFICATION=lv_LV.UTF-8
LC_MEASUREMENT=lv_LV.UTF-8
LC_MONETARY=lv_LV.UTF-8
LC_NAME=lv_LV.UTF-8
LC_NUMERIC=lv_LV.UTF-8
LC_PAPER=lv_LV.UTF-8
LC_TELEPHONE=lv_LV.UTF-8
LC_TIME=lv_LV.UTF-8
Isso é algo que pode ser corrigido com as configurações de localidade do servidor? Ou há algum parâmetro que devo usar ao iniciar a sessão ssh?