ERROR - Updated 2026-05-14

UTF-8 BOM이 필요한 경우

CSV에서 UTF-8 BOM이 왜 필요한지, Excel에서 도움이 되는 상황과 API·개발 파이프라인에서 주의할 점.

Open CSV Encoding Fixer

UTF-8 BOM은 Excel이 CSV를 UTF-8로 인식하도록 돕는 신호로 쓰일 수 있습니다. 특히 한글이나 일본어가 들어간 CSV를 비개발자 Excel 사용자에게 전달할 때 도움이 되는 경우가 많습니다. 하지만 API 업로드, 데이터 파이프라인, 개발 도구에서는 BOM이 오히려 첫 번째 컬럼명 문제를 만들 수 있으므로 목적에 따라 선택해야 합니다.

증상

  • UTF-8 CSV를 Excel에서 열면 한글이나 일본어가 깨집니다.
  • 같은 파일에 BOM을 붙이면 Excel에서 정상으로 보입니다.
  • 서버 업로드에서는 BOM을 붙인 파일만 첫 번째 컬럼명이 이상하게 인식됩니다.
  • id 컬럼이 업로드 후 id처럼 보이거나 매핑되지 않습니다.

원인

BOM은 Byte Order Mark의 약자입니다. UTF-8에서는 바이트 순서를 구분하기 위해 꼭 필요한 정보는 아니지만, 일부 프로그램은 파일 앞의 BOM을 보고 "이 파일은 UTF-8일 가능성이 높다"고 판단합니다.

CSV 업무에서는 다음처럼 장단점이 나뉩니다.

사용처BOM 권장 여부이유
Excel로 열어 확인도움이 될 수 있음Excel의 UTF-8 인식을 돕는 경우가 많음
고객사에 CSV 전달상황에 따라 유용상대가 Excel 중심이면 안정성이 올라갈 수 있음
API 업로드보통 주의 필요첫 컬럼 앞에 BOM이 붙어 처리될 수 있음
개발 코드 저장소보통 불필요대부분 UTF-8을 명시적으로 처리함

바로 해결 방법

  1. 파일을 누가, 어떤 도구로 열지 먼저 정합니다.
  2. Excel에서 읽기 위한 파일이면 UTF-8 BOM 포함 CSV를 준비합니다.
  3. API나 자동 업로드용 파일이면 서비스 문서에서 BOM 허용 여부를 확인합니다.
  4. 첫 번째 컬럼명이 매핑되지 않으면 BOM 때문에 앞에 보이지 않는 문자가 붙었는지 확인합니다.
  5. CSV Encoding Fixer로 Excel용 BOM 파일을 따로 만들어 테스트합니다.

FixData 도구로 확인하기

CSV Encoding Fixer는 입력한 CSV를 UTF-8 BOM 포함 파일로 다운로드할 수 있게 해줍니다. Excel 공유용 파일과 업로드용 원본을 분리해서 테스트하면 어떤 쪽이 필요한지 빠르게 판단할 수 있습니다.

도구 결과가 모든 시스템의 요구 조건을 대신 확인해 주지는 않습니다. 업로드 서비스가 BOM 없는 UTF-8만 받는다면 그 규칙을 우선해야 합니다.

수동 해결 방법

Excel 공유용 파일 만들기

Excel에서 열어야 하는 파일은 UTF-8 BOM으로 저장하거나, BOM을 붙인 별도 사본을 만들면 좋습니다. 원본 파일명에는 for-excel 같은 표시를 붙여 업로드용 파일과 섞이지 않게 하세요.

업로드용 파일 확인하기

API 또는 관리자 페이지에 올릴 CSV는 업로드 문서의 인코딩 안내를 먼저 봅니다. UTF-8 without BOM, UTF-8, CP949처럼 표현이 다를 수 있습니다.

첫 번째 컬럼만 매핑되지 않으면 BOM을 의심할 수 있습니다. 이 경우 BOM 없는 UTF-8로 다시 저장해 테스트합니다.

파일을 두 벌로 관리하기

같은 데이터를 Excel 검토용과 시스템 업로드용으로 함께 써야 한다면 한 파일로 모든 요구를 해결하려 하지 않는 편이 안전합니다. 검토용은 UTF-8 BOM, 업로드용은 서비스 요구에 맞춘 인코딩으로 나누세요.

예제

BOM 때문에 업로드 매핑이 실패하는 예:

id,name
1,홍길동

화면에는 id로 보이지만 시스템 내부에서는 첫 컬럼이 id로 읽힐 수 있습니다. 이 경우 업로드 대상이 BOM을 처리하지 못하는지 확인해야 합니다.

Excel 확인용으로는 같은 데이터에 BOM을 붙인 사본이 유용할 수 있습니다.

자주 하는 실수

  • BOM을 인코딩 변환 자체와 같은 의미로 이해합니다.
  • Excel에서 잘 열린다는 이유로 API 업로드에도 같은 파일을 사용합니다.
  • 첫 번째 컬럼만 실패하는 문제를 컬럼명 오타로만 의심합니다.
  • 원본과 Excel 전달용 사본을 구분하지 않습니다.

관련 도구

관련 글

업데이트 날짜

2026-05-14