2012. 7. 3. 09:45ㆍ개발관련기록/Java
이클립스 환경에서 AWT에서 한글이 깨질 때
[그림 1] AWT에서 한글이 깨져서 나오는 현상
AWT에서 한글 입력 시에 네모 글자로 나올 때가 있습니다. 정확한 이유는 모르겠지만 프로젝트의 인코딩과
컴파일시의 인코딩이 일치하지 않아서 발생하는 문제인 듯 합니다.
제 경우에는 프로젝트의 기본 인코딩이 UTF-8 인 경우였습니다.
보통은 Inherited Character Encoding 이라고 해서 디폴트 인코딩을 사용해서
문제 없이 사용할 수 있었는데, UTF-8로 지정하니 한글이 깨져버리네요.
이럴 때는 -Dfile.encoding=MS949 라는 VM Arguments를 추가해주면 됩니다.
상세한 설정 방법을 알아보도록 하겠습니다.
먼저 이클립스의 Package Explorer에서 프로젝트를 선택한 후 Alt + Enter 키 또는 마우스 오른쪽 버튼을 눌러
Properties for Project 대화상자를 엽니다. 제 경우의 프로젝트 이름은 GUI_MathML이군요.
[그림 2] Package Explorer에서 프로젝트 선택
[Properties for Project] 대화 상자가 열리면 Run/Debug Settings 탭으로 이동합니다.
그리고 Launch configurations for 'Project name': 항목을 보면 최근에 실행한 메인 클래스가 보이는데,
AWT의 메인이 되는 클래스를 클릭하고 [Edit...] 버튼을 누르시거나 더블클릭 해서 실행 설정 편집창을 엽니다.
※ 만약 아무런 클래스도 보이지 않는다면 [New...] 버튼을 눌러 Java Application을 선택하고 Main class를 선택하고, 이 후에 나오는 내용을 동일하게 적용하면 됩니다.
[그림 3] 프로젝트 속성 대화상자의 Run/Debug Settings 탭
[Edit configuration] 창이 열리면 Arguments 탭으로 이동하여 VM arguments: 란에
-Dfile.encoding=MS949 라고 입력해 준 후 [OK]버튼을 눌러 모든 설정을 완료하고 닫아줍니다.
[그림 4] Edit Configuration 대화상자의 Arguments 탭의 VM arguments 항목 수정
여기까지 설정을 마쳤으면 다시 프로그램을 실행해 봅니다.
[그림 5] 설정 완료 후 AWT 프로그램 재실행
이제 한글이 정상적으로 나옵니다. :D
'개발관련기록 > Java' 카테고리의 다른 글
[JAVA]인터페이스의 사용법 (0) | 2012.11.06 |
---|---|
이클립스 단축키 사용하기 (0) | 2012.08.30 |
[문법을뚫자][ "==" 과 "equals()" 의 차이점] (0) | 2011.08.16 |
[문법을 뚫다]Call by reference, Call by value (0) | 2011.08.16 |
[Java]성능개선을 위한 Programming 기법 (0) | 2011.06.16 |