728x90
<오류 설명>
오류가 난 지점을 ^ 문자로 표시하는데 그 부분의 문자열이 인코딩 문제로 깨져보이는것을 알 수 있다.
utf-8로 인코딩된 코드를 자바 컴파일에서 한글 윈도우의 기본 인코딩을 따라서 ms949 방식으로 읽으려고 시도했지만 실패하여 발생한 것이다.
utf-8과 ms949와 같은 다른 한글 인코딩은 1바이트로 표시되는 영문자를 포함한 ascii 문자에서만 서로 호환성을 가질 뿐이라서 영문자들은 잘 표시되지만 한글은 알수 없는 엉뚱한 문자로 해석될 뿐이다.
파일주소>javac Hello.java

<해결방법>
해결 방법은 소스파일과 컴파일러의 인코딩 방식을 서로 일치 시켜주는 것으로, 3가지
1. 편집기에서 파일 인코딩을 ms949로 저장
2. 통합개발환경에서 컴파일 옵션으로 -encoding utf-8을 설정하는 방법
3. 자바 컴파일러에게 명시적으로 파일의 인코딩을 지정하는 방법(javac 파일명 -encoding utf-8)
3번으로 해보기로 함.
<해결> > 컴파일 시 인코딩을 utf-8로 맞춰준다.
파일주소>javac Hello.java -encoding utf-8
참고 블로그 : 바벨의 도서관 https://thelibraryofbabel.tistory.com/entry/%EC%9E%90%EB%B0%94-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%8B%9C-%EC%9D%B8%EC%BD%94%EB%94%A9-%EB%AC%B8%EC%A0%9C
728x90
'공부 > Java' 카테고리의 다른 글
| 문자 '2'에 -'0'을 했을 때 숫자2로 변환되는 이유 (0) | 2023.03.31 |
|---|---|
| 연산자(operator)의 우선순위와 결합규칙 (0) | 2023.03.31 |
| prinft(), 형변환 출력 (0) | 2023.03.27 |
| 오류 의미 (0) | 2023.03.07 |
| 이클립스 단축키 (0) | 2023.02.23 |