Java
[Java] CMD javac - unmappable character for encoding MS949
상후
2022. 7. 23. 20:58
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를 재실행하여 다시 시도해보면 옵션 없이 컴파일이 성공한다.
How to change the defaults system java encode form in windows?
When I tried to compile (use javac)some java sources files include a comment line which has some unrecognized char like ascii code 129 (~A), error got. The sources code looks like the following: ...
stackoverflow.com
IDE를 통해 개발하면 시스템 내에서 인코딩 문제를 해결하지 않아도 IDE 내에서 설정을 통해 해결이 가능합니다.
2번의 경우 IDE에서 컴파일할 때도 인코딩을 바꿨다는 안내 문구가 노출되기 때문에 참고만 하셔도 될 것 같습니다.
728x90
반응형