카테고리 없음

이클립스 UTF-8 BOM(byte-order mark) 제거 /공백 오류

momong'-' 2022. 12. 15. 09:53

입력하지 않은 공백이 생겨 문제가 생겼다.

CSS를 고쳐도 달라지지 않고, 

개발자 도구(F12)로 Elements를 봤더니 아래와 같은 &#xFEFF 이런 글씨가 나타났다.

 

이러한 현상은 눈에 보이지 않는 BOM 문자가 생긴것이다.

코드를 보면 눈에 보이지 않지만 문제가 발생한다.

 

BOM(Byte Order Mark)

문서 맨 앞에 눈에 보이지 않는 특정 바이트(byte)를 넣은 다음 이것을 해석해서 정확히 어떤 인코딩 방식이 사용되었는지 알아내는 방법을 나타낸다.

유니코드가 little-endian인지 big-endian인지 UTF-8인지 쉽게 알 수 있도록, 유니코드 파일이 시작되는 첫부분에 보이지 않게 2-3바이트의 문자열을 추가하는 것이다.

BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을 때만 보인다.

 


이클립스 해결방법

문제가 있는 파일 우클릭 > Properties > Resource > Text fil encoding

Other: MS949로 변경 후 Apply and Close 한다.

(변경할 경우 한글이 깨질수도 있으니 코드를 미리 복사해둔다.)

 

 

변경을 하고 나면 파일 맨 위에 없던 문자가 생긴다. 

그 문자를 지우고 다시 Propertise로 들어가 UTF-8로 변경한 뒤 Apply and Close하면 문제는 해결된다.