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
반응형
'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 |
댓글