마스터 페이지 사용시 한글 깨짐 문제 (BOM 관련) ASP.NET

분명히 잘 돌아가는 것을 확인하였는데, 다른 개발자가 코드 한두 줄 넣었더니 페이지가 깨지더라.
소스를 보니 alt 태그로 넣은 한글이 모두 깨져버렸다.
희한한 것은 마스터 페이지 영역은 정상인데 유독 컨텐츠 페이지 부분만 깨진다는 것이다.
두 페이지 모두 UTF-8로 인코딩된 것은 확인하였다.



문제의 레이아웃 깨짐 현상


소스코드. (내가 짠 HTML 아님...)

전에도 경험한 적이 있는 문제라 우선 비주얼 스튜디오 2008에서 새 파일을 만든 다음(make.asp) 기존 파일(make_.asp)의 내용을 모두 복사해 넣고 다시 실행해 봤다.
그랬더니 잘 된다. 바로 BOM 문제다.
AcroEdit 등에서 생성하는 UTF-8 파일과 비주얼 스튜디오에서 생성하는 파일은 동일한 UTF-8처럼 보여도 내부적으로 BOM 사용 여부의 차이가 있다.
문제는 AcroDiff 등의 비교 툴에서는 이것을 감지하지 못한다.


텍스트 내용만 비교할 수 있는 AcroDiff


Hex 에디터로 비교해 보면 차이를 알 수 있다.

BOM에 대한 자세한 내용은 직접 찾아보기 바란다.
전에도 위키로 포스팅한 적이 있는데 잘 알려지지 않은 것 같아서 다시 쓴다.

Tag :
, , ,

Leave Comments