# 개요
Java GUI로 간단한 출력 프로그램을 작성하는 중에 println()
출력함수를 써서 문자를 찍었는데 한글이 깨졌다.
간단한 Encoding 문제일 줄 알았는데, 이렇게 오래 시간을 끌 줄이야...
참고로, 제가 해결한 방법은 글 마지막에 있는 4번째 방법입니다.
# 해결 방법
1. vmoptions 파일 수정
Google 검색을 해보면 대부분이 이 방법을 제시한다.
Intellij가 설치된 경로에 bin
폴더로 가면 idea.exe.vmoptions
와 idea64.exe.vmoptions
이렇게 두 개가 있는데, 본인의 환경에 맞게(64bit인 경우 idea64) 파일을 수정하면 된다고 한다.
(사실 난 두 파일 전부 다 수정함)
실제 해당 파일의 맨 아랫줄에-Dfile.encoding=UTF-8
을 추가 해봤으나, 바뀌는 건 없었다.
2. IDE 옵션 수정
1번과 함께 해야하는 방법으로 나온다.
IDE 메뉴에서 File>Settings...
을 누르고, 검색란에 'File Encodings'를 찾아서 들어가면 Encoding option들을 볼 수 있다.
이 옵션들을 UTF-8
로 설정한다.
스피너를 모두 UTF-8
로 설정한다. 그리고 'Transparent native-to-ascii conversion' 체크 박스를 체크(이거는 안하는 블로그들도 있었음)한다.
역시나 해결 되지 않음...
3. vmoptions 개인 파일 수정
절망하고 있는 와중에 한 줄기 빛이 내려왔다. 👉 참고 사이트
이 포스트를 올린 분도 나와 같은 삽질을 하다가 이 방법으로 해결했다고 해서 나도 해결될 줄 알았다.
방법은, 사용자 세팅 파일이 있는 경로에 가서 1번 방법처럼 vmoptions
에 -Dfile.encoding=UTF-8
을 추가하면 된다고 한다.
IDE 메뉴에서 바로 수정할 수도 있다.
Help>Edit Custom VM Options...
맨 밑에 설정 값을 넣고 IDE 재시작을 해봤다.
해결되지 않았다...
4. Gradle 파일 수정
Eclipse가 갑자기 그리워지려고 할 때, 마지막 해결글을 찾을 수 있었다. 👉 참고 사이트
// build.gradle 파일에 다음 내용을 추가하면 된다.
...
compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
dependencies {
...
}
해결됐다. 이후에는 저 내용을 삭제하더라도 한글이 깨지지 않았다.
이거 때문에 몇 시간을 날렸....
아무튼 혹시나 이 문제를 겪는 사람이 이 글을 본다면 나와 같이 해결했기를 바란다. 🙌🙌🙌