이클립스 한글 인코딩 관련 문제 총정리

Yoon Seo Jin·2023년 12월 24일
0

Java

목록 보기
1/7

한글 인코딩 관련 씨름한 기록을 적어보고자 한다.

  • JDK가 최신 버전일 경우 인코딩 문제가 발생할 확률이 높으니 삭제 후 이전 버전을 재설치 해보도록 하자! JDK와 eclipse 삭제 방법은 4) 참고.

  • 2023년 9월~12월 기준 JDK-20은 아래에 기술하는 1) 한글 인코딩 설정을 적용할 시 정상적으로 작동한다.

  • 필자의 경우 2023년 12월 기준 JDK-21을 사용할 시 아래 설정을 모두 했음에도 오류가 발생했는데, 3)번 방법을 사용해 파일을 실행시키면 정상작동했다. 그러나 각 파일 실행 때마다 해당 방법을 사용해야 하므로, 이후에 같은 문제를 겪고 싶지 않으면 앞서 말한 대로 다운그레이딩하는 방법을 추천한다..
    필자는 JDK-20으로 다운그레이드하여 문제를 해결하였다.


1) elcipse 한글 인코딩 설정하기

Window - Preferences - General 탭 들어가기

  1. Workspace 탭 - Text file encoding 설정 확인 : UTF-8으로 되어 있는지 확인
    ➡️ 설정이 다를 경우 Other에서 변경 후 Apply 클릭

  2. Editors 탭 - 'Text Editors' 탭 - Spelling - Encoding 설정 확인 : UTF-8으로 되어 있는지 확인
    ➡️ 설정이 다를 경우 Other에서 변경 후 Apply 클릭

  3. Content Types 탭 - Text - Default encoding 설정 : EUC-KR로 변경 후 Update 클릭

    ⚠️ Eclipse 2023-12 버전의 경우 이 설정을 할 시 오히려 깨지는 현상이 발생했다. 2023-06 버전에선 정상작동

  4. Apply and Close 클릭


2) 콘솔창에서 한글 입력 시 scanner가 인식을 못 하는 경우

Scanner (객체명) : new Scanner(System.in, "EUC-KR");
scanner 객체 생성 시 parameter에 "EUC-KR"을 추가해주면 된다!


3) 1의 설정을 마쳤음에도 여전히 한글이 깨지는 경우

Run - Run Configurations... 메뉴 들어가기

  1. Common탭(안 보일 시 창 확대하거나 >> 클릭하면 나옴) - Encoding 설정 확인 : Default - inherited UTF-8로 설정된 것을
    Other 클릭 - MS949 입력

  2. Apply 클릭 - Run


4) 다르게 인코딩된 파일을 받아서 실행하려는 경우

네이버 카페에 올라온 글을 통해 알게 된 정보이다.
-남궁성의 코드초보스터디 카페, CoddingBear님 『이클립스 실행시 미리 파일 인코딩을 UTF-8로 설정합시다.』

  1. 이클립스가 설치된 폴더 들어가기
    필자의 경우C:\Users\user\eclipse\java-2023-12\eclipse 경로에 있었다.
  2. eclipse.ini 파일을 메모장에서 열기
    유형이 '구성 설정'으로 된 파일을 속성을 열어 확인해보면 확장자가 .ini임을 알 수 있다.
  3. 맨 밑에 -Dfile.encoding=UTF-8 문장 추가
  4. 저장 후 이클립스 실행

➡️ 모든 파일 실행 시 UTF-8로 지정 인코딩한 후 실행되는 원리인 듯하다. 이 방법을 사용하면 다르게 인코딩된 파일들을 일일이 메모장에서 열어 다른 이름으로 저장 - 인코딩 형식을 UTF-8로 변경하는 과정을 거치지 않아도 되는 듯!


5) JDK, eclipse 삭제 방법

JDK의 경우

  • 프로그램 추가/제거에 들어가 Java SE Development Kit을 삭제하면 된다.

eclipse의 경우: 프로그램 추가/제거에 뜨지 않는다!

C:\Users\user 경로에 들어가 .eclipse , .p2 , eclipse, eclipse-workspace 폴더를 모두 삭제해주면 된다.

profile
this blog is synchronized w/ notion; currently not accessible

0개의 댓글