Etc

[IntelliJ IDEA] 한글 깨짐

devvace ㅣ 2020. 4. 17. 17:49

# 개요

Java GUI로 간단한 출력 프로그램을 작성하는 중에 println() 출력함수를 써서 문자를 찍었는데 한글이 깨졌다.
간단한 Encoding 문제일 줄 알았는데, 이렇게 오래 시간을 끌 줄이야...

 

참고로, 제가 해결한 방법은 글 마지막에 있는 4번째 방법입니다.

 

 

# 해결 방법

1. vmoptions 파일 수정

Google 검색을 해보면 대부분이 이 방법을 제시한다.
Intellij가 설치된 경로에 bin 폴더로 가면 idea.exe.vmoptionsidea64.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 {
...
}

해결됐다. 이후에는 저 내용을 삭제하더라도 한글이 깨지지 않았다.

이거 때문에 몇 시간을 날렸....

 

아무튼 혹시나 이 문제를 겪는 사람이 이 글을 본다면 나와 같이 해결했기를 바란다. 🙌🙌🙌