it-swarm-ko.com

잘못된 문자를 표시하는 PuTTY를 수정하는 방법?

PuTTY 를 사용하여 SSH를 통해 Windows 7 PC에서 Ubuntu 서버에 연결하면 화면 오류가 발생합니다.

enter image description here

즉 그것:

  • Midnight Commander (MC) 내의 선택 항목을 "더블 드로우"합니다.
  • 선 요소와 같은 다른 문자는 잘못된 문자로 표시됩니다 (예 : "|"대신 "â").

Mac OS X에서 터미널과 SHH를 사용하여 동일한 Ubuntu 서버에 연결했지만 이러한 화면이 깨지지 않습니다 (즉, 모든 것이 올바르게 보이고 작동합니다). 이미 PuTTY에서 글꼴 설정을 사용하여 Courier New에서 Consolas로 변경했지만 운이 없었습니다.

그러므로 내 질문은 :

특수 문자를 올바르게 표시하고 화면 선을 이중으로 그리거나 덮어 쓰지 않도록 PuTTY를 구성하는 방법은 무엇입니까?

85
Uwe Keim

귀하의 PuTTY 설정 에서 잘못된 문자 세트를 설정했습니다.

다음 명령을 실행하여 원격 시스템에서 문자 세트를 확인하십시오.

locale

이것은 다음과 같은 것을 반환해야합니다 :

LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

따라서 번역 에서 PuTTY 설정을 확인하고 UTF-8 문자 세트로 설정합니다.

PuTTY Reconfiguration

선 그리기 설정을 조정해야 할 수도 있지만 아마도 아닐 것입니다.

76
Michael Hampton

문자 세트로 UTF-8이 있어도 데비안의 aptitude 프로그램에 문제가있었습니다. 나를 위해 일한 것은 '연결> 데이터>'터미널 유형 문자열 '을'xterm '대신'PuTTY '로 설정하는 것이 었습니다. PuTTY는 문자 시퀀스를 무시하여 그리기 모드로 전환합니다. http : // www .chiark.greenend.org.uk/~ sgtatham/PuTTY/wishlist/utf8-plus-vt100.html

enter image description here

35
Daniel Sokolowski

또한 UTF-8이 올바르게 구성되지 않은 경우 mc -ac 로 실행할 수 있습니다.

크레딧 : http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem

12
hoppy

두 가지 기본 요소는 PuTTY의 Window/Translation UTF-8과 Linux 및 로케일 설정 (여기에서 설명 된 다른 위치)입니다.

또한 PuTTY에서 연결/데이터/터미널 유형 문자열을 PuTTY 및/또는 Linux에서 export NCURSES_NO_UTF8_ACS=1. 이 두 곳도 여러 곳으로 언급됩니다.

그러나 Courier 및 Lucida Console과 같은 기본 글꼴에는 모든 유니 코드 문자가 없기 때문에 특정 문자에 대한 블록이 계속 표시 될 수 있습니다. http://dejavu-fonts.org/wiki/Download 를 다운로드하여 설치하고 PuTTY를 사용하도록 설정하십시오.

이 마지막 트릭은 모든 그래픽 문자를 표시하기 위해 noping (권장!)을 얻는 데 필요했습니다.

9
GauteLund

15 년 후 나는 다시 한 번 화가 나고 다시 googled 발견하고 이것을 선택했다.

설정 변경 → 창 → 번역 → 원격 문자 세트 → "글꼴 인코딩 사용"

그리고 그것은 그것을 고쳤다.

7
jason

필자의 경우 (우분투 14.04)이 문제로 인해 발생했습니다.

UsePAM yes    

/ etc/ssh/sshd_config에 /etc/pam.d/sshd로 입력 pam 구성은 기본적으로/etc/default/locale을 사용자 환경에로드하는 역할을합니다.

6
fakej Gazeta.pl

여기에 끝나는 가난한 VMS 직원들 모두가 :

PuTTY → 창 → 번역 → 원격 문자 세트 → DEC-MCS

나를 위해 일했다.

6
David Rabahy

Docker 시스템 (로케일과 시스템 관리자가 설정 한 시스템 모두)을 사용할 때 이에 대한 많은 솔루션을 찾고있었습니다. 내 PuTTY에서는 모든 것이 좋았습니다 (UTF-8였습니다), 다른 SSH 클라이언트도 사용하고 있었고 정확히 같은 문제가있었습니다.

달리는:

mc -ac

문제를 해결하고 있었지만 (완전히는 아님) 완전한 해결책을 찾고있었습니다.

많은 제안을 읽은 후 마침내 문제를 해결 한 제안을 찾았습니다.

실행할 때 터미널에서 :

locale

어떤 로케일을 설정했는지 확인하십시오. 기본적으로 C 로캘이 있습니다.

설치된 모든 로캘을 확인하려면 locale -a를 실행하십시오.

예를 들면 다음과 같습니다.

C
C.UTF-8
POSIX

기본적으로.

솔루션은 다음과 같이 LANG 변수를 C.UTF-8 로케일로 내보내고 있습니다.

export LANG="C.UTF-8"

분명히 .bashrc에 추가하여 프로필에 자동으로 설정되도록 할 수 있습니다.

5
Marcin Nabiałek

WindowTranslation 페이지에서 문자 세트를 설정해야했습니다.

ISO-8859-1 : 1998 (서유럽 라틴 -1)

그런 다음에 만 선 그리기 문자가 올바르게 나타납니다.

3
zootal

파워 브로커/pbis/유사한 인증을 가진 호스트에 영향을 줄 수있는 pam과 관련된 또 다른 이유.

"lsass"발생에 대한 grep /etc/pam.d :

grep -r lsass /etc/pam.d

출력에서 다음과 같은 것이 보이면 :

/etc/pam.d/common-session:session       sufficient        pam_lsass.so

아마도 문제의 근본 원인 일 것입니다. 빠른 수정 방법은 pam_lsass 모듈 옆에있는 "충분한"을 "선택적"으로 바꾸는 것입니다.

/etc/pam.d/common-session:session       optional        pam_lsass.so

pam_env가로드되기 전에 /etc/pam.d/common-session (또는 유사한 항목을 가진 다른 파일-파일이 거의 없을 수 있음)이 /etc/pam.d/sshd에 포함되어있을 수 있습니다. pam 모듈 처리가 완료된 경우 pam_env가 나오기 전에/etc/default/locale이 사용자 환경에로드되지 않고 문자가 깨졌습니다.

2
fakej Gazeta.pl

많은 답변에서 언급했듯이 :

PuTTY> 창> 변환> 원격 문자 세트> UTF8

솔루션입니다.

그러나 세션> 기본 설정 으로 이동하여 저장 . 성공을 확인하는 메시지는 표시되지 않지만 실제로는 기본값이됩니다.

enter image description here

1
Basj

이 방법으로 mc를 실행하면 (로케일을 en으로 설정) 저에게 효과적입니다.

$ LC_ALL=en mc
1
marioosh

나를 위해 일한 것은 "연결, 데이터, 터미널 유형 문자열 = ansi"와 "창, 번역, 원격 문자 세트 = 글꼴 인코딩 사용"과 set TERM=ansi입니다.

추신. MS-Word를 사용해야하는 경우 스마트 인용 부호를 끄십시오.

1
TRM

창 → 번역 → "UTF-8 모드에서도 VT100 선 그리기를 활성화합니다".

이것은 나를 위해 mcwavemon의 표시를 수정합니다.

enter image description here

1

내 문제는 PuTTY가 UTF-8로 구성되었지만 원격 시스템이 ISO-8859-1이라는 것입니다.

서유럽에서 PuTTY에서 변경했으며 정상적으로 작동했습니다.

PuTTY 스크린 샷

1
velteyn