VPS에 ssh
을 (를) 넣으면 화면에 irssi
이 (가) 실행됩니다. 누군가가 유니 코드 문자 (예 : © 또는 €)를 보내면 irssi
세션에서 화면을 통해 사용할 때 ssh
가비지를 표시합니다. 로컬 컴퓨터에서 실행되는 irssi에서 irssi의 프록시 모듈을 사용하여 irssi
에 연결하면 올바르게 표시됩니다.
마찬가지로 VPS (화면 외부)에서 ghci를 실행하고 해당 문자 중 하나를 입력하면 충돌이 발생합니다.
따라서 분명히 ssh 또는 시스템 설정에서 VPS에 연결하면 문자 인코딩 문제가 발생합니다.
이 원인을 찾아서 해결하려면 어떻게해야합니까?
세부:
클라이언트 시스템
VPS 시스템
locale
명령을 실행하면 로케일 설정에 대한 정보가 제공됩니다. 문자 인코딩은 LC_CTYPE
설정으로 제공됩니다.
우분투에서 기본 로케일 설정은 /etc/default/locale
에 제공됩니다. VPS의 LC_CTYPE
에서 ~/.profile
를 설정하여 문자 인코딩을 변경할 수 있습니다 (예 :.
export LC_CTYPE=en_US.UTF-8
en_US.UTF-8
로캘이 사용 가능한지 확인해야합니다. Ubuntu는 요청 된 로캘에 대한 로캘 데이터 만 생성합니다. language-pack-en-base
패키지가 설치되어 있으면 모든 영어 로켈을 사용할 수 있어야합니다. 당신은 수동으로 그들의 생성을 요청할 수 있습니다
Sudo locale-gen en
특정 로케일이 설치되었는지 확인하기 위해 항목을 /var/lib/locales/supported.d/local
에 추가 할 수도 있습니다 (예 : en_US.UTF-8 UTF-8
행 추가).
실제로 LC_CTYPE에 주어진 값은 로케일 name입니다. 문자셋 인코딩의 이름은 일반적이지만 필수는 아닙니다.
그러나 문자셋을 알고 싶다면 명령은 locale -k charmap
.
~$ LC_CTYPE=C locale -k charmap
charmap="ANSI_X3.4-1968"
~$ LC_CTYPE=fr_BE locale -k charmap
charmap="ISO-8859-1"
(위의 LC_TYPE 값에 문자 세트가 표시되지 않는 방법에 유의하십시오).