it-swarm-ko.tech

ssh 및 문자 인코딩

VPS에 ssh을 (를) 넣으면 화면에 irssi이 (가) 실행됩니다. 누군가가 유니 코드 문자 (예 : © 또는 €)를 보내면 irssi 세션에서 화면을 통해 사용할 때 ssh 가비지를 표시합니다. 로컬 컴퓨터에서 실행되는 irssi에서 irssi의 프록시 모듈을 사용하여 irssi에 연결하면 올바르게 표시됩니다.

마찬가지로 VPS (화면 외부)에서 ghci를 실행하고 해당 문자 중 하나를 입력하면 충돌이 발생합니다.

따라서 분명히 ssh 또는 시스템 설정에서 VPS에 연결하면 문자 인코딩 문제가 발생합니다.

이 원인을 찾아서 해결하려면 어떻게해야합니까?

세부:

클라이언트 시스템

  • 아치 리눅스 x64
  • UTF-8 인코딩

VPS 시스템

  • 우분투 서버 10.04
  • 알 수없는 인코딩이 사용되었습니다. 이것을 어떻게 찾습니까? (아키는 내 /etc/rc.conf에서 아치를 찾아야합니다)
17
Macha

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 값에 문자 세트가 표시되지 않는 방법에 유의하십시오).

4
Pablo Saratxaga