이러쿵저러쿵


Putty 프로그램을 사용하다 보면 종종 어떤 서버에서는 한글이 깨져서 보이는 경우가 있습니다.

 

Putty 가 기본으로 UTF-8 문자 집합(Character Set)을 사용하는데, 서버의 locale 인코딩 값이 UTF-8 이 아닌 경우에 문제가 발생합니다.

보통 한국어로 된 리눅스 서버를 운용한다면 아마 서버 locale이 EUC-KR 문자 집합으로 되어 있을 것입니다.

 

참고로 서버 인코딩 정보를 확인하는 방법은 서버에 접속하여 locale 명령어를 실행하면 됩니다.

 

아래와 같이 서버에 접속하여 안내 문구가 나올만한 명령어를 입력해봅니다.

 

[aaa@localhost ~]$ cd aabbccddee (존재하지 않는 디렉토리)

 

 

무언가 메시지가 떴는데, 전혀 알아볼 수가 없네요.

 

어떻게 해야 할까요? 문자 집합을 서로 맞추어 주면 될 것 같은데요.

서버를 UTF-8 환경으로 변경해 줄 수도 있지만, 계속 사용해왔던 서버의 환경을 변경하는 것은 조금 꺼려지기도 하는 부분입니다.

그리고 굳이 그럴 필요도 없이 Putty의 환경을 변경함으로써, 간단히 해결될 문제이기도 하지요.

 

단순히 Putty 의 문자 집합을 변경해 보도록 하겠습니다.

 

 

방법1) 가장 쉬운 방법! - Putty 의 설정 화면에서 문자 집합 설정.

 

 PuTTY를 실행시킵니다!!

 접속하려는 Host Name을 입력 또는 하단의 저장 목록에서 로드(Load) 합니다.

 그리고 좌측 트리 메뉴에서 Window - Translation 을 선택합니다.

 

 

 

아하! 여기가 접속 환경에 맞는 문자 집합을 설정할 수 있는 곳이군요!

 

Remote character set 선택 박스에서 서버의 문자 집합을 선택하면 됩니다.

 

그런데 EUC-KR 은 찾아봐도 없군요. 그럼 EUC-KR 과 호환이 되는 문자 집합이 있을까요?

네 있습니다. CP949 인코딩은 EUC-KR 의 확장된 버전으로 하위 호환성을 가지고 있는 문자 집합니다.

 

 

여기서 CP949를 선택하여 주면 문제가 해결됩니다.! - 끝 -

 

 

앗!! 이런.. 제 PuTTY에 CP949 문자 집합 또한 없습니다.

강제로 CP949를 입력하고, 접속해도 제대로 한글이 보이지 않습니다.

 

 

방법2) 다음 방법! - Putty 의 레지스트리에서 FontCharSet 설정하기

그러면 이제 레지스트리를 건드릴 차례입니다. 해당 문자 집합 설정 정보를 저장하는 레지스트리에 강제로 우리가 원하는 문자 집합을 설정해 보겠습니다.

 

윈도우 하단의 시작 버튼을 클릭하여 [실행] - regedit.exe 를 입력한 후, 실행합니다.

  

 

 

레지스트리 편집기가 실행됩니다.

 

좌측 트리 메뉴에서

 

[HKEY_CURRENT_USER - Software - SimonTatham - Putty - Sessions]

 

로 들어갑니다.

 

Sessions 내에는 Putty에 등록된 서버 접속 정보 목록들이 있습니다.

한글이 깨지는 서버의 세션 정보를 클릭합니다.

 

 

그리고 우측 메뉴에서 FontCharSet 항목을 확인합니다. 값이 0x00000000 (0) 으로 설정되어 있습니다.

이를 16진수로 81(0x81) 또는 10진수로 129 를 입력한 후, 확인을 누릅니다.

 

 

0x81 은 한글의 Charset 을 의미하는 값입니다.

 

아래와 같이 FontCharSet 이 0x00000081 (129) 로 변경되었습니다.

 

 

이제 다시 PuTTY로 접속해 보겠습니다.!!

문제가 해결 되었습니다. - 끝-

 

아니 아직도 안된다구요!!!!?!?!?!??!

 

 

방법3) 마지막 방법! - Putty 의 레지스트리에서 LineCodePage 설정하기

 

 Putty에는 CharacterSet을 지정할 수 있는 또다른 항목이 있습니다.

 

 

 

 LineCodePage 인데, 값이 아마 기본 인코딩을 사용한다는 Default 값으로 설정되어 있던지, 또는 공란으로 되어 있을 것입니다. 

 여기에는 실제 문자 집합 명을 입력할 수 있습니다.

 

 아래와 같이 LineCodePage 의 값을 CP949 로 설정합니다.

 

 

 

 값이 정상적으로 설정되었습니다. 이제 서버에 다시 접속해 보겠습니다.

 

 

 

 드디어 한글이 보입니다!! (이 방법까지 썼는데, 한글이 제대로 보이지 않는다면 서버가 한글이 아닌 다른 인코딩으로 되어 있는 경우일 것입니다. 서버에 맞는 문자 집합만 설정해 주시면 됩니다. 단, 문자 집합이 한글이 아닌 서버겠죠?^^)

 

 

문제가 해결되었습니다. - 정말 끝! -

 

 

많은 분들에게 도움이 되었으면 합니다.^^

저작자 표시 비영리 변경 금지
신고


Comment +21

  • 감사 2015.04.16 19:17 신고

    감사합니다^^

  • 흥해라흥! 2015.04.23 11:27 신고

    진짜 아 왜 안돼!!! 이랬는데... 감사합니다. 덕분해 해결했습니다..

    • 안녕하세요! 흥해라흥!님

      제 블로그를 방문해 주셔서 감사합니다.
      제 포스팅이 문제 해결에 도움이 되었다니, 감사할 따름입니다.^^
      저도 이 문제때문에 한참 고생을 했었거든요. ㅎㅎㅎ

      좋은 밤 되세요~^^

  • 박운용 2015.05.06 16:22 신고

    덕분에 잘 해결되었습니다. 3단계까지 갔어요 ㅋㅋ
    고맙습니다. ^^

  • 2015.07.01 11:22 신고

    덕분에 해결 했습니다.
    감사합니다

    • 안녕하세요. 휘님^^

      블로그를 방문해 주셔서 감사합니다.
      문제가 잘 해결되었다니 다행입니다.^^

      좋은 주말 되세요!

  • thx 2015.09.08 16:51 신고

    덕분에 해결 했습니다.
    저도 마지막 단계인 CP494 설정까지 했더니 되네요^^
    감사합니다.

  • 좋은 정보 정말 감사합니다!

    마지막 단계까지 하고 성공했어요!

    • 안녕하세요. 신자현님.

      블로그를 방문해 주셔서 감사합니다!!

      잘 해결되어서 다행입니다^^ 도움이 된 것 같아서 기분이 좋네요. ㅎㅎㅎ

      좋은 밤 되세요!

  • 김현기 2016.02.23 13:55 신고

    좋은 정보 감사합니다.
    저도 맨 마지막 부분으로 해결 하였습니다.
    괜찮다면 출처 밝히며 담아가고 싶은데 괜찮을까요?

    • 안녕하세요. 김현기님.
      블로그를 방문해 주셔서 감사합니다.^^

      개발 관련하여 제가 직접 작성한 게시물에 대해서는 출처를 밝혀주신다 하시더라도 원본 그대로 퍼가는 것을 허용하고 있지는 않습니다. (사실 게시물 복사를 따로 막아 놓지는 않았습니다. ㅎㅎ)

      제 게시물 내용을 기반으로 재가공하셔서 새로 작성하시는 것은 문제 없으며, 그렇지 않다면 링크 형태나 게시물 썸네일 형태로 퍼가주셨으면 합니다.^^

      좋은 밤 되세요^^

  • 감사합니다 덕분에 문제해결했어요^^

  • 감사합니다 덕분에 문제해결했어요^^

  • 아크 2016.07.14 10:12 신고

    좋은 자료 감사합니다. 퍼가요~

  • 마음이여 2016.08.04 19:07 신고

    정보 감사합니다. 저 같은 경우는 Ubuntu 16.04.1 Desktop LTS 버전을 한국어로 설치하고 해당 현상 발생했는데
    Translation에서 UTF-8로 설정한 후에 정상으로 디스플레이 되었습니다. UTF-8인지는 LANG 환경 변수를 출력해보고 알았습니다.
    echo $LANG => ko_KR.UTF-8 으로 나옴.

티스토리 툴바