Problemas com a localidade; Não é possível fazer o Arch Linux usar o UFT-8 [closed]

0

Nota: Os problemas reais por trás disso são apresentados he re , conforme um recomendação no meta. Esta questão deve ser encerrada como um tópico não reproduzível, porque seu principal problema é resolvido corrigindo um erro de digitação.

Olá, companheiros,

Eu tentei seguir vários tutoriais oficiais e perguntas e supostas solutions (alguns apenas aplaudindo, digamos, Debian baseado distribuições), nenhuma das quais funcionou. Também é possível adicionar itens como LANG="pt_PT.UFT-8" em ~/.bashrc didn / t, embora os caracteres man warning (mas gerou alguns avisos como bash: can't set $LC_CTYPE (...) carregando o shell após o login):

man: can't set the locale; make sure $LC_* and $LANG are correct

Meu arquivo locale.conf , que a BTW experimentou várias combinações de variáveis LC* e LANG* :

LANG="pt_PT.UFT-8"
LANGUAGE="pt_PT.UFT-8"

O resultado de alguns outros comandos:

[jmcf125@jmcf125-Toshiba-Arch ~]$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pt_PT.UFT-8
LC_CTYPE="pt_PT.UFT-8"
LC_NUMERIC="pt_PT.UFT-8"
LC_TIME="pt_PT.UFT-8"
LC_COLLATE="pt_PT.UFT-8"
LC_MONETARY="pt_PT.UFT-8"
LC_MESSAGES="pt_PT.UFT-8"
LC_PAPER="pt_PT.UFT-8"
LC_NAME="pt_PT.UFT-8"
LC_ADDRESS="pt_PT.UFT-8"
LC_TELEPHONE="pt_PT.UFT-8"
LC_MEASUREMENT="pt_PT.UFT-8"
LC_IDENTIFICATION="pt_PT.UFT-8"
LC_ALL=

[jmcf125@jmcf125-Toshiba-Arch ~]$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US.utf8
pt_PT.utf8
[jmcf125@jmcf125-Toshiba-Arch ~]$ localectl
   System Locale: LANG=pt_PT.UFT-8
       VC Keymap: pt-latin9
      X11 Layout: pt

locale.gen (sem comentários):

en_US.UTF-8 UTF-8
pt_PT.UTF-8 UTF-8

locale-gen sempre retornou:

Generating locales...
  en_US.UTF-8
  pt_PT.UTF-8
Generation complete.

Eu também tentei uft8 em vez de UFT-8 (que fazia parte da solução Ubuntu que usei naquela época), sem bons resultados (embora eu não tenha tentado em muitos lugares).

Além disso, o teclado no X não é pt-latin9 , mesmo se eu usar loadkeys pt-latin9 e comandos relacionados, embora esse não seja o meu principal problema no momento. Essa é outra questão. O problema atual é que os caracteres não ASCII não são exibidos corretamente (não no tty, muito menos no X).

Por exemplo, se eu clicar na tecla para c cedilla, recebo um A maiúsculo com um trema, e posso excluir um caractere adicional do prompt com Backspace ! Eu suspeito que isso é porque o TTY espera 2 bytes para ser 2 caracteres e permite um backspace extra. Enquanto ls fornece um ponto de interrogação por byte do caractere (exemplo: Transfer??ncias ), Tab completion fornece Transferências/ em X e algo mais (outro caractere não ASCII) em um TTY.

Espero que você possa me ajudar, isso é muito chato e não sei mais o que fazer. Mesmo ao escrever esta pergunta, eu digitei incorretamente ' para / quase todas as vezes!

    
por JMCF125 13.01.2014 / 00:00

1 resposta

4

A saída de locale -a está informando que você tem uma localidade chamada pt_PT.utf8 . Mas você continua tentando usar pt_PT.UFT-8 , que não existe. Use

LANG="pt_PT.utf8"
LANGUAGE="pt_PT.utf8"

pt_PT.UTF-8 deve funcionar também, mas é UTF-8 , não UFT-8 . O T vem antes do F.

    
por 13.01.2014 / 01:44