728x90
반응형
1. 오류 분석
Windows의 CMD(명령 프롬프트)에서 작성한 java파일을 javac 명령어를 통해 컴파일하려고 하는데
아래와 같은 에러 메시지를 만났다고 합니다.
error : unmappable character for encoding MS949
컴파일 시 MS949로 인코딩을 진행한다. (따로 인코딩을 지정하지 않으면 플랫폼 기본값이 사용)
작성한 Java 파일에는 한글이 포함되어있어 인코딩에 사용할 수 없는 문자가 있다는 에러 메시지를 보여주며 컴파일에 실패한 것이다.
2. 해결 방법
1. javac 명령어 사용 시 encoding 옵션을 통해 UTF-8로 인코딩을 지정한 후 컴파일을 한다.
javac Test.java -encoding UTF-8
2. PC에서 기본 인코딩을 UTF-8로 지정 후 컴파일한다.
윈도우 - 환경변수 - 시스템 변수에 항목을 추가한다.
변수 이름 : JAVA_TOOL_OPTIONS
변수 값 : -Dfile.encoding=UTF-8
환경 변수 추가 후 CMD를 재실행하여 다시 시도해보면 옵션 없이 컴파일이 성공한다.
IDE를 통해 개발하면 시스템 내에서 인코딩 문제를 해결하지 않아도 IDE 내에서 설정을 통해 해결이 가능합니다.
2번의 경우 IDE에서 컴파일할 때도 인코딩을 바꿨다는 안내 문구가 노출되기 때문에 참고만 하셔도 될 것 같습니다.
728x90
반응형
'Java' 카테고리의 다른 글
[Java] 단축 평가, 좋은 if문을 작성하는 방법 (2) | 2022.11.19 |
---|---|
[Java/스크랩] private Method 테스트 코드 작성하기 (0) | 2022.10.03 |
[Java] 오버로딩(overloading) / 오버라이딩(overriding) (0) | 2021.08.28 |
[Java] Class(클래스)와 객체(Object) (2) | 2021.08.23 |
[Java의 정석/5강정리] 05. 배열 (0) | 2021.08.06 |
댓글