[Intellij]콘솔창에 한글이 깨져서 나올때 최후의 방법

정호석·2022년 3월 31일
13

안녕하세요 여러분들도 한번씩은 겪어보셨을만한 상황을 가지고 와봤습니다.

제 상황은 콘솔창에 한글이 깨져서 나오는 문제상황이었습니다.

public static void main(String[] args) {
        System.out.println("안녕하세요");
        System.out.println("안녕하세요 저는 한국말을 못합니다.?");
    }

이런 간단한 한글을 띄우는게 목적이었으나 한글이 깨지더군요 아래처럼...

누가봐도 아. 인코딩이 뭐 UTF-8이 아닌 다른걸로 되어있겠구나 하고 Setting을 만져줬습니다,

첫번째 설정.

[ctrl]+[alt]+s 누르면 intellij 세팅 나오는거 다 아시죠??
세팅 들어가셔서 왼쪽 상단 검색창에 encod 까지 치면 File Encodings 메뉴가 뜹니다.
거기서 아래사진처럼 빨간 네모 세개 UTF-8로 설정해줍니다.

근데 안됩니다. 이 문제는 아니었던걸로...

두번째 설정..

두번째는 VM option 파일을 수정하는겁니다.
보통 intellij가 자동으로 설치되는 경로로 보자면
C드라이브>program files>JetBrains>IntelliJ IDEA 2021.3.3>bin 이 위치에
파일명 : idea64.exe.vmoptions 되겠습니다.
이 파일을 notepad로 열어서 수정을 하겠읍니다..

저는 처음에

  • -Dfile.encoding=UTF-8
    이것만 추가 했는데 안되서 추가로
  • -Dconsole.encoding=UTF-8
    이거까지 추가했습니다.

솔직히 이젠 되겠지 하고 intellij 재실행 했습니다..

응^^ 안돼 돌아가~

세번째 설정

세번째 방법은 두번째 방법과 같은 매커니즘으로써
사진으로 보시죠 ㅎㅎㅎ


② 까지 진행하시면 아래처럼 설정 파일이 나옵니다 여기에 아까 넣어준 코드 두줄 넣어줍니다.

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

④ 까지 진행하고 intellij 한번 껐다 켜줍니다.

안되네요.

네번째 설정

여기서부터는 온갖 구글링으로 나온 방법 다 해봤는데 그럴싸한거 몇개만 알려드릴게요

환경변수_JAVA_OPTIONS : -Dfile.encoding=UTF-8 이름과 값으로 추가도 해봤는데
intellij에서 그거 쓰지말라고 당장 빼라고 뭐라하더군요...
환경변수 변경사항 적용 확실하게 하시려면 컴퓨터 재부팅 하시는게 좋습니다.
이것도 안되더군요...

다섯번째 설정

우선 제어판에 들어가세요
들어가서 날짜,시간 또는 숫자 형식 탭을 누르세요

그럼 쪼끄만 창이 나옵니다.
관리자 옵션 탭 선택하시고 시스템 로캘(local 아니고 locale 입니다.) 변경 버튼 누르세요


아래 사진처럼 Beta 뭐시기 체크해줍니다. 이 방법이 약간 시스템의 인코딩을 바꿔주는 느낌같아서
아. 이건 됐다 싶더라구요 ㅎㅎㅎ

근데 안됩니다....
이거 체크해놓으니깐 다른데에 한글도 깨져요 그래서 다시 되돌렸습니다.

여섯번째 설정

이건 컴퓨터 문제구나 하고 포기하고 eclipse 깔았습니다.

근데 이클립스에서도 한글이 깨지더군요.
이땐 진짜 멘붕하고 그냥 노트북으로 해야겠다 하고 포기했습니다.

근데 이상하다 왜 포기가 안되죠?

그래서 그냥 혼자 이것저것 막 건드려봅니다.
그러다가 문득 든 생각이
어라? 내 컴퓨터에서 자바 파일을 읽는 과정에서 뭔가 제대로 안되는거같은데
흠.. 그러면 내 컴퓨터에 설치된 jdk가 문제인가? 해서
jdk를 지웠다가 다시 깔아봤습니다. 근데 안되네요

그러면 혹시 버전의 문제일 수가 있나? 해서 구글링 해봅니다
keyword : jdk 버전 차이로 인한 한글 깨짐.
역시나 안나옵니다.
그래서 기존에 쓰던 버전과 다른 버전을 다운받았습니다.
다운 받은 후에 build settings에 들어갑니다.

들어가서 새로 받은 버전으로 변경을 해줍니다.

그리고 intellij를 껏다가 켜줍니다.

그리고 아무생각없이 실행을 해봅니다.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

ㅠㅠㅠㅠ 드디어 해결 했습니다.

이유를 찾아 봤으나 아직 찾지는 못했고 혹시나 저같은 증상을 겪으시는분들을 위해

긴 글 남겨봅니다. ㅎㅎㅎㅎ

profile
welcome

22개의 댓글

comment-user-thumbnail
2022년 5월 17일

감사합니다..... 덕분에 문제 해결했어요.. 감사합니다......ㅠ

1개의 답글
comment-user-thumbnail
2022년 6월 25일

선생님 감사합니다 jdk 18 에서 11로 바꾸니까 바로되네요

1개의 답글
comment-user-thumbnail
2022년 7월 29일

해결은 진작에 됐는데... 기나긴 고투 잘 보고 갑니다.

1개의 답글
comment-user-thumbnail
2022년 8월 19일

원인
JEP-400(인코딩이 default 로 UTF-8 로 설정되는 기능)이 jdk 18 버전에서 문제를 일으키는 것으로 확인. (Windows 환경)

해결방안
jdk 버전을 17 이하 버전을 사용할 것.

이라고 하네여 저도 openjdk 1.8을 쓰다가 잘못눌렸는지 18버전으로 바꿨더니 한글이 깨지더라고요
모든 방법 해봤지만 project structure에서 project - jdk 18이하로 바꾸니까 바로 되네여

1개의 답글
comment-user-thumbnail
2022년 11월 2일

정말 2시간 동안 stackflow 헤매다가 진짜 감사합니다 ㅠㅜ

1개의 답글
comment-user-thumbnail
2022년 11월 30일

저는 5번 방법 덕분에 해결됐네요!!
감사합니다!!

1개의 답글
comment-user-thumbnail
2023년 2월 11일

노트북 사고 까ㄹ았는데 안돼서 선생님 글 보고 하나하나 따라하니까 됐어요ㅠㅠㅠㅠ 결국 마지막까지 안 돼서 선생님과 같은 길을 걸었지만 사랑해요...

1개의 답글
comment-user-thumbnail
2023년 9월 21일

이거보고 해결안되어서 비영어권쪽 뒤져서 해결했습니다 ^ㅂ^ !!! 결국은 비슷하긴한데 아무튼... 정말 감사드립니다..

1개의 답글
comment-user-thumbnail
2023년 12월 26일

이글보고 해결했습니다.. 정말 감사합니다!!

1개의 답글
comment-user-thumbnail
2024년 1월 8일

선생님 감사합니다 온갖짓 다해보다가 자바 21버전에서 17로 바꾸니까 바로 해결됐네요;;

1개의 답글
comment-user-thumbnail
2024년 1월 18일

감사합니다 1 6 2 3 순서대로 하다가 잡혔네여 ㅠ 감사합니당 엄청 고생하셨을듯~

1개의 답글