본문 바로가기

Mac

이클립스 한글 ? 깨짐

Eclipse on Mac

(Windows와 Linux에서는 발생하지 않는 문제임)

java file의 encoding을 UTF-8로 설정해도, 문자열을 제대로 출력하지 못하는 문제가 발생한다. Debug를 해보면 변수 안의 한글은 제대로 들어있으나, 콘솔에는 ???로 출력된다.

  • System.out.println("한글")
  • System.out.println(유니코드 문자열이 담긴 String)

이를 해결하기 위해서는 다음 두가지 인코딩 설정을 일치시켜야 한다.

  • VM 인코딩
    • (Open Run Dialog) -> Arguments -> VM arguments 에서 -Dfile.encoding=UTF-8 추가
  • 콘솔 인코딩
    • (Open Run Dialog) -> Common -> Console Encoding 에서 UTF-8 설정
    • 어처구니 없게도 기본 값을 설정하는 메뉴가 없다

파일 자체의 인코딩이 UTF-8인 것은 상관 없다. 실제로 Windows에서는 위 두 인코딩이 모두 MS949로 설정되어있다. 그러나 맥의 경우는 이것이 기본적으로 일치하지 않는지 문제가 생긴다. 위의 설정을 일일히 하기 귀찮으므로, 다음 두 가지 설정을 추가로 한다.

  • eclipse 를 UTF-8 환경으로 띄우기
    • Eclipse 실행파일 -> 오른쪽클릭 메뉴에서 패키지 내용 보기(Show Package Contents) -> Contents -> MacODS -> eclipse.ini 에 -Dfile.encoding=UTF-8 추가
    • 결과 상당 부분의 인코딩 기본 옵션이 UTF-8로 변한다 :) 콘솔 인코딩의 기본 값이 UTF-8로 바뀐다.
  • VM 인코딩
    • Eclipse -> Preferences -> Java -> Installed JREs -> (선택된 JVM에서 Edit...) -> Default VM Arguments 에서 -Dfile.encoding=UTF-8 추가


아니면 아래와 같이 해주던지


Run Configuration > 작성중인 Application 선택 > Common 탭 으로 이동하여 보면 "Console Encoding" 이라는 항목이 있으며, Default 가 inherited 되어 있기 때문에 현재는 Console Encoding이 UTF-8로 설정되어 있을 것이다. 이걸 Other 옵션에서 EUC-KR로 바꿔준다.



출처 : http://ids.snu.ac.kr/wiki/Eclipse