매뉴얼 페이지 및 로그와 같은 많은 시스템 컨텍스트에서 인쇄할 수 없는 문자가 표시됩니다. 강조 표시된 물음표로 나타납니다. 예를 들어 매뉴얼 페이지에는 다음과 같은 값이 있습니다.
E2 9F A8 ...email address... E2 9F A9
그리고 작가 이름
F r C3 A9 d C3 A9 r i c k
여기서 숫자는 16진수 값입니다. 유니코드에서는 이 값을 찾을 수 없어서 그 값이 무엇인지 잘 모르겠습니다. 이를 이스케이프 시퀀스로 처리하면 다음과 같은 결과를 얻습니다.
M-b M-^ M-^_ M-( ... email address ... M-b M-^_ M-)
출력을 올바르게 번역하려면 어떻게 해야 합니까? 내 로캘은 다음과 같이 설정되어 있습니다.
LANG=en_US.UTF-8
$TERM은 "linux"이고 머신 자체에서 가상 콘솔을 사용하고 있습니다.
답변1
기본적으로 귀하의 댓글 작성자가 명시적으로 언급하지는 않았지만 매뉴얼 페이지는 UTF-8 문자를 사용하여 형식화되었습니다. 상황에 따라서는 수정될 수도 있습니다
맨 페이지에서 미국식 영어를 사용하고 싶다고 가정해 보겠습니다.
LC_CTYPE=C명무엇을 확인하고 싶든 간에
이 동작은 억제되어야 합니다. 이력서를 보면 이 옵션이 마음에 들 것 같습니다. LC_CTYPE이 설정되지 않은 경우 LC_CTYPE 대신 LC_ALL을 지정할 수 있습니다. 모든 환경 변수와 마찬가지로 이를 셸에서 설정하고 모든 명령에 적용할 수 있습니다.
이를 비활성화할 수 있는 또 다른 로케일 옵션은 en_US입니다. 미국 영어가 필요하지 않은 경우 다른 로케일이 많이 있으며 그 중 다수는 .UTF-8을 가지며 UTF-8이 없으면 UTF-8을 사용합니다.
- 콘솔 글꼴에 관련 문자에 대한 유니코드 매핑이 있는 경우
-r
매뉴얼 페이지에 입력하기만 하면 호출기에 올바른 문자가 표시됩니다. 하지만 이 설정에도 위험이 없는 것은 아닙니다. 보고 있는 문서의 모든 터미널 제어 순서를 적용할 수 있습니다. 매뉴얼 페이지를 볼 때 이 작업을 안전하게 수행해야 하지만 신뢰할 수 없는 소스의 파일을 보거나 임의의 데이터가 포함된 파일을 보는 경우 콘솔이 잠기거나 더 나쁜 상황이 발생할 수 있습니다. (콘솔에 표시하는 파일이 키보드 버퍼에 문자를 넣을 수 있도록 하는 일부 터미널 이스케이프 시퀀스가 있어 키보드 버퍼를 읽은 후 즉시 입력한 것처럼 유효하게 만듭니다. Linux 가상 제어 스테이션 이들 중 어느 것도 지원하거나 지원하지 않습니다).
Linux 배포판이 기본적으로 UTF-8을 끄는 대신 켜도록 전환했기 때문에 이것이 사람들이 더 많이 알아차리고 있는 것이라고 생각합니다. 한편 Linux 콘솔은 여전히 512자 글꼴만 지원하며 16가지 색상 중 절반만 비활성화되어 있습니다. 다른 유니코드 치아 문제에서 X 윈도우 글꼴은 64k 문자만 지원하는 반면 유니코드는 64k보다 훨씬 더 많은 문자를 지원합니다.