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
'Mac' 카테고리의 다른 글
맥에서 톰캣 강제종료 (0) | 2014.01.22 |
---|---|
sublime text2 running and compile on mac os x 서브라임 텍스트2에서 자바 실행 (0) | 2014.01.20 |
맥에서 .m2 폴더 열기 (0) | 2014.01.17 |
맥 Mac 단축키 hot key(이클립스포함) (0) | 2014.01.17 |