Debug Log

자바8버전 인텔리제이 UTF-8 오류 해결과정

밍미a 2022. 11. 7. 23:31
728x90

 

발생한 이슈.

인텔리제이에서 자바8버전으로 배열을 공부하다가

한글이 이런식으로 깨져서 출력되었다.

 

처음 시도한것은 

 

1)

인텔리제이가 UTF-8을 인식을 못하니까 인텔리제이의 인코딩 설정값을 변경해주면 되지 않을까? 라고 생각했다.

그래서 구글링을 해서 얻은 정보대로 

[Help] - [Edit Custom VM Options...] 에 들어가서 

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

이 코드를 추가해주었다.

 

하지만 코드를 추가해줘도 문제가 해결되지 않았다.

인텔리제이의 UTF-8의 설정을 변경해주는 또 다른 방법으로 시도해 보았다.

 

2)

인텔리제이의 상단 메뉴바인 file/console encoding에 들어가서

Settings  → Editor  → File Encodings 에 들어갔다.

Global  Project  Encoding 을 UTF-8 로 설정하고

Tranparent native-to-ascii conversion 설정도 해주었다..

 

3)

https://www.lesstif.com/java/intellij-file-console-encoding-121012310.html

하지만 역시 되지 않았다...

이쯤되니 내 컴퓨터의 터미널자체에서 UTF-8을 안먹는게 아닐까 생각이 들어서

cmd를 켜서 chcp 65001 명령어를 입력했다.이때 한가지 실수한 점은, cmd 명령어를 제대로 알아보지 않고 실행했다는 것이다.chcp 같이 무언가를 변경하는 명령어는 내 컴퓨터에 직접적인 영향을 주는 것이기 때문에함부로 사용하면 위험 할 수 있는게 그 사실을 간과했다.. 다음에 쓸때는 조심해야겠다는 교훈을 얻었다..

 

하지만 그렇게 바꿨음에도 불구하고 문제는 해결되지 않았다.

 

https://m-falcon.tistory.com/363

 

이쯤되면 자바나 인텔리제이의 문제이지 않을까 생각이 들었다.

4) 자바 설치파일을 다시 실행한 뒤 remove 를 통해 남김없이 깨끗하게 지워주었다.

그 뒤 자바 8.0을 다시 깔아 주었지만 여전히 문제는 해결되지 않고 똑같았다.

 

https://velog.io/@hsjung2015/Intellij-or-Eclipse%EC%BD%98%EC%86%94%EC%B0%BD%EC%97%90-%ED%95%9C%EA%B8%80%EC%9D%B4-%EA%B9%A8%EC%A0%B8%EC%84%9C-%EB%82%98%EC%98%AC%EB%95%8C-%EC%B5%9C%ED%9B%84%EC%9D%98-%EB%B0%A9%EB%B2%95

 

그러던 중 블로그에서 자바 버전업 시켰더니 됐다는 글을 발견해서

자바 11.0으로 깔았더니 해결되었다.

윈도우 환경에서 JEP-400(인코딩이 default 로 UTF-8 로 설정되는 기능)이 jdk 18 버전에서 문제를 일으키는 것이라고 한다.

여기서 배운점은 인코딩이 운영체제에 따라 문제를 일으킬 수 있다는 것을 알게 되었다. 

내일은 인코딩이랑 디코딩에 대해서 알아봐야겠다.