본문 바로가기
Hello World/Troubleshooting

[ERROR] java: illegal character: '\ufeff'

by Run DaramG 2022. 4. 14.

JAVA 빌드시 아래와 같은 오류로 compile error 가 발생하여 빌드 실패하였다.

 

에러 문구

[ERROR] java: illegal character: '\ufeff'

 

발생원인

특정 파일의 인코딩이 UTF-8 with BOM 으로 되어있었다. JAVA compile시 BOM 유니코드를 compile 하지 못한다. 

BOM이란?
문서 맨 앞에 눈에 보이지 않는 특정 바이트(byte)를 넣은 다음 이것을 해석해서 정확히 어떤 인코딩 방식이 사용되었는지 알아내는 방법이다. 메모장같은 일부 Windows 프로그램에서 눈에 보이지않지만 자동으로 BOM을 집어넣어 저장한다.

메모장으로 작업 후 저장화면 - 아래 인코딩 정보가 UTF-8(BOM) 인것을 볼 수 있다.

 

해결방법

IDE (IntelliJ, VS Code) 또는 메모장을 통해 쉽게 변경할 수 있다.

 1. 인코딩 메뉴에 들어가 UTF-8 with BOM -> UTF-8 로 변경하여 다시 저장한다.

 2. 또는 프로젝트 메뉴의 'Remove BOM' 을 통해 BOM 을 삭제해준다.

 3. IDE가 없다면 메모장에서 파일을 연 후 다른이름으로 저장한 다음 아래 인코딩 정보를 UTF-8(BOM) 이 아닌 UTF-8로 새로 저장해준다.

댓글