데비안의 vi에 일부 특수 문자를 입력할 수 없습니다

데비안의 vi에 일부 특수 문자를 입력할 수 없습니다

내가 액세스할 수 있는 컴퓨터에서 vi에 "€"를 입력하면 "~B�"가 표시되고 "£"를 입력하면 "£"로 인해 이상한 동작이 발생합니다. 어떻게 해결해야 할까요? 콘솔에 입력하면 결과가 더 적어집니다.

locale산출:

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=

vim 내부(나는 명시적으로 "m"과 함께 vim을 사용하려고 합니다):

:set enc
encoding=latin1

이것은 매우 잘못된 것 같습니다 ...

입력하면 :set encoding=utf-8문제가 해결되었지만 시스템이 모든 곳에서 utf-8을 사용하도록 하려면 어떻게 해야 합니까? 내가 해결하려는 문제는 내 데이터베이스의 고정 파일이 latin1PHP에 의해 다음과 같이 해석되는 것 같습니다.

답변1

enzotib이 말했듯이 로케일을 재구성해야 합니다. 달리기 DEBCONF_PRIORITY=low sudo dpkg-reconfigure locales.

  • en_US.UTF-8당신이 있는지 확인하십시오첫 번째질문.
  • en_US.UTF-8으로 설정했는지 확인하세요.기본 로케일내부에두번째질문.

답변2

그렇다면 vim의 로캘 및 인코딩 설정에 주의 vivim기울여야 합니다.

첫 번째 질문: 어떤 로케일을 사용하고 있습니까?

echo $LC_ALL

내 껍질 각인de_DE.utf8

두 번째 질문: vim에서 사용되는 로캘이 동일합니까? (vim 세션 내부)

:set enc

내 vim 인쇄encoding=utf-8

화타이

관련 정보