인텔리제이 다양한 한글 인코딩 문제의 원인을 알아보고 해결방법을 소개드립니다.


먼저 이 글에서는 공통으로 적용해야할 2가지 방법을 먼저 소개드리고, 본문 하단 링크를 통해 나머지 원인들의 해결방법에 대해 상세하게 알아보겠습니다.


인텔리제이 한글깨짐 발생 시 공통적으로 먼저 적용해야하는 2가지 해결방법



안녕하세요. 티끌모아개발 티모티모입니다. 인텔리제이로 처음 환경설정 세팅을 하다보면 다양한 곳에서 한글들이 깨져있는 상황이 발생합니다.

 문제를 해결하려 인터넷에서 해결방법 찾아 적용해보면, 어떨땐 되고 어떨땐 안돼서 내가 적용한게 제대로 적용한게 맞는지? 다른 부분에 지장이 가는건 아닌지? 의문이 들었는데요. 이번 기회에 관련 내용을 제대로 정리하여 같이 공유하고자 합니다.

 아래 본문과 나머지 해결방법이 정리되어 있는 글까지 모두 확인 하시면 인텔리제이 한글 인코딩 문제를 모두 해결하실 수 있도록 글을 작성했습니다.

그리고 개발툴에서 한글 인코딩 문제는 항상 공통으로 적용해야하는 문제이기 때문에, 환경잡을 때 가장 먼저 설정하는 습관을 들이면 좋을 것 같습니다.

 

1. 인텔리제이의 VM 옵션 설정하기


IDE에서 JVM을 사용할 때의 인코딩 옵션을 변경하는 방법입니다.


VM 옵션은 인텔리제이 메인 메뉴의 Help탭에서 Edit Custom Vm Options를 통해 찾을 수 있습니다.
해당 항목을 누르게 되면 .vmoptions 파일을 IDE 내에서 변경할 수 있는 창이 열립니다.

-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8

 

위 두 줄을 아래에 추가해 줍니다.

사실 정확히는 위 방법을 통해 수정을 하게 되면 실제 IDE의 .vmoptions 원본 파일을 수정하는 것은 아닙니다. vmoption의 copy본을 만들어 원본 파일보다 우선순위를 높여 적용을 하는 방식이라고 하니 참고하시기 바랍니다.

작성을 완료했다면 확실하게 IDE에 설정 변경사항을 적용시키기 위해 IDE를 종료 후 재시작 해줍니다.


 

참고1) Help 탭에서 Edit Custom VM Options 항목을 찾을 수 없는 경우

윈도우 기준으로 [Shift]키 두번 연속 누르면 나오는 창에서 아래와 같이 입력 해줍니다.



참고2) .vmoptions 원본 파일 직접 수정하기
.vmoptions 파일의 위치를 직접 찾아 수정하는 방법

vmoptions 파일의 위치는 IDE_HOME의 config 디렉토리에 있습니다. 저는 윈도우 10을 사용하고 있으며 아래 위치에서 vmoptions 파일을 확인할 수 있었습니다.

C:\Users\<사용자 이름>\AppData\Roaming\JetBrains\<IntelliJ 버전명>


인텔리제이 버전이나 운영체제에 따라 IDE_HOME의 위치가 다르기 때문에 자세한 내용은 이 링크를 참고해주세요.


참고3) Toolbox를 통해 인텔리제이를 설치한 경우
Toolbox 설정에서 Java Virtual Machine options의 "Edit.."항목을 통해 수정할 수 있습니다.

더 자세한 내용은 이 링크를 참고해주세요.


2. 파일 인코딩 설정하기


인텔리제이는 새로운 파일이나 인코딩을 감지할 수 없는 파일을 열었을 때 File Encoding 설정 값을 참조하여 해당 파일을 인코딩하여 보여줍니다. 다른 에디터로 열었을 때는 문제가 없는데, 인텔리제이로 파일을 열었을 때만 문자가 깨지는 경우에 적용해 볼 수 있습니다.


 먼저 인텔리제이 ①Settings로 들어가 ②Editor > File Encodings 탭으로 들어갑니다. 이후 ③Global Encoding, Project Encoding을 UTF-8로 변경하고 그보다 아래에 있는 ④Properties Files 항목의 Default encoding for properties files를 UTF-8로 설정(선택)합니다.

..

Default encoding for properties files의 설정 이유는 자바 1.8 API 속성 파일은 ISO-8859-1 인코딩을 사용하도록 설계되어 있는데 이 인코딩으로 정의되지 않은 문자는 이스케이프 시퀀스가 적용되기 때문입니다. 그래서 ~



참고) 각 설정 항목에 대한 설명
- ③Global Encoding : 내 프로젝트에 포함된 파일이 아닌 파일이 추가되거나 VCS에서 소스코드를 로컬로 체크아웃 할때 적용되는 옵션입니다.
- ③Project Encoding : 프로젝트 내의 파일에 적용되는 인코딩 옵션입니다.
- ⑤Transparent native-to-ascii convertion 옵션 : ISO 8859-1에 정의된 이스케이프 문자를 사용하는 대신에 설정한 인코딩의 이스케이프 문자를 사용하겠다는 의미입니다.

더 자세한 내용은 이 링크를 참고해주세요.



여기까지는 인텔리제이에서 한글 인코딩 문제를 겪은 분들이라면 아마 다들 시도해본 상태일 것입니다. 본문이 길어진 관계로 나머지 해결방법은 아래 링크에서 이어 설명드리겠습니다.

(작성 예정)

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기