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

joy0987·2023년 7월 13일
0

Java

목록 보기
5/6

스터디 문제 구현 중, 인텔리제이 인코딩 관련 에러가 발생했다.
이전에 한 번 해결했는데 다른 프로젝트에서 또 같은 문제가 발생해서 정리해두려 한다.

에러문구

java: illegal character: '\ufeff'

발생원인

  • BOM 을 컴파일러가 읽지 못 하는 경우 발생
  • BOM 이란?
    - 유니코드가, little-endian 인지 big-endian 인지 아니면 UTF-8 인지 쉽게 알 수 있도록, 유니코드 파일이 시작되는 첫부분에 보이지 않게, 2~3바이트의 문자열을 추가하는데 이것을 BOM이라고 한다.

해결방안

  1. 소스를 다른 에디터에 복사해두고, 파일을 새로 생성해서 붙여넣기

  2. 인텔리제이 내에서 해결하기
    1. 인코딩 메뉴에 들어가 UTF-8 with BOM -> UTF-8 로 변경
    2. 프로젝트 메뉴의 Remove BOM 클릭 (BOM 이 없으면 사진처럼 보이고, BOM 이 있는 상태면 BOM 제거로 뜬다 - 한국어 버전)

  3. IDE 없이 해결하려면, 문제가 되는 파일을 다른 이름으로 저장한 다음 인코딩 정보를 UTF-8 로 새로 저장하기


나는 인텔리제이에서 직접 'BOM 제거' 버튼을 눌러 해결하였다.

profile
아자아자

0개의 댓글

관련 채용 정보