Não é possível digitar alguns caracteres especiais no vi em um debian

2

numa máquina a que tenho acesso, quando escrevo "€" no vi, aparece "~ B " e quando digito "£", "£" O que pode causar esse comportamento estranho, como posso corrigi-lo? Digitar no console dá ainda menos resultados.

locale output:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Dentro do vim (eu tentei explicitamente usar o vim com um 'm'):

:set enc
encoding=latin1

Isso parece muito errado ...

Digitar :set encoding=utf-8 resolve o problema, mas como posso fazer meu sistema usar utf-8 em todos os lugares? O problema que estou tentando resolver é o fato de que um arquivo de fixture para meu banco de dados parece ser interpretado como latin1 by php ...

    
por greg0ire 19.09.2011 / 12:33

2 respostas

4

Como a enzotib disse, você precisa reconfigurar suas localidades. Execute DEBCONF_PRIORITY=low sudo dpkg-reconfigure locales .

  • Certifique-se de ativar en_US.UTF-8 na questão primeiro .
  • Certifique-se de definir en_US.UTF-8 como o padrão de localidade na questão segundo .
por 19.09.2011 / 16:22
1

Se o seu vi for vim , então você deve cuidar dos seus códigos de idioma e das configurações de enconding dentro do vim:

Primeira pergunta: qual localidade você usa?

echo $LC_ALL

Minha concha imprime de_DE.utf8

Segunda pergunta: É a mesma localidade usada no vim? (Dentro da sessão do vim)

:set enc

Meu vim imprime encoding=utf-8

HTH

    
por 19.09.2011 / 13:10