먼저 알아둘 기준

문자 인코딩은 글자를 바이트로 저장하는 규칙입니다. 같은 바이트도 다른 규칙으로 해석하면 한글이 깨집니다. UTF-8은 유니코드 전체를 다루며 웹과 현대 도구에서 널리 사용됩니다.

EUC-KR은 과거 한국어 환경에서 사용된 문자 집합이고 CP949는 Windows에서 확장한 범위입니다. CP949 파일을 EUC-KR로만 읽으면 일부 글자가 해석되지 않을 수 있어 둘을 완전히 같은 이름으로 취급하면 안 됩니다.

UTF-8 BOM은 파일 앞의 짧은 식별 바이트입니다. UTF-8 자체에 필수는 아니지만 일부 스프레드시트 프로그램이 CSV 인코딩을 인식하는 데 도움을 줄 수 있습니다.

실제 작업에서 보는 사례

01

최신 웹 서비스에서 내려받은 JSON은 보통 UTF-8로 읽습니다.

02

오래된 Windows 업무 CSV가 UTF-8에서 깨지면 CP949 미리보기를 비교합니다.

03

한글 CSV를 특정 스프레드시트에서 열 때 깨지면 UTF-8 BOM 결과를 시험합니다.

단계별로 확인하는 방법

  1. 1

    원본 파일을 수정하지 않고 바이트 그대로 선택합니다.

  2. 2

    UTF-8, CP949와 EUC-KR 후보 미리보기를 비교합니다.

  3. 3

    한글뿐 아니라 특수문자, 숫자와 줄바꿈도 정상인지 확인합니다.

  4. 4

    UTF-8 또는 필요한 경우 UTF-8 BOM으로 새 파일을 저장합니다.

한국어 텍스트 인코딩 비교

인코딩특징주의할 환경
UTF-8유니코드 전체, 웹 표준에 적합일부 구형 프로그램의 자동 인식
EUC-KR제한된 한국어 문자 범위확장 한글·기호 손실 가능성
CP949EUC-KR을 확장한 Windows 코드 페이지다른 운영체제와 교환할 때 명시 필요
UTF-8 BOMUTF-8 앞에 식별 바이트 추가BOM을 데이터로 오인하는 일부 도구

주의할 점

  • 깨진 상태로 다시 저장하면 원본 바이트가 바뀌어 나중에 올바른 인코딩으로도 복구하지 못할 수 있습니다.
  • 인코딩 이름만 바꾸는 것과 실제 바이트를 변환하는 것은 다릅니다.

기술적 제한

  • 바이트 빈도 기반 자동 감지는 짧은 파일과 ASCII 전용 파일에서 인코딩을 확정할 수 없습니다.
  • 브라우저 TextDecoder 지원 범위 밖의 인코딩은 별도 라이브러리에 의존하며 구현별 매핑 차이가 있을 수 있습니다.