CSV 한글 깨짐, UTF-8과 CP949를 구분하는 방법

원본 인코딩 확인부터 BOM 선택, 앞자리 0 보존, 복구할 수 없는 경우까지 정리했습니다.

깨진 화면과 깨진 원본은 다릅니다

CSV는 글자와 쉼표 등을 담은 텍스트 파일입니다. 파일을 만든 프로그램과 읽는 프로그램이 서로 다른 인코딩을 사용하면 같은 바이트가 다른 글자로 보일 수 있습니다. 이런 경우 올바른 인코딩으로 다시 읽으면 정상 표시됩니다. 반면 깨진 상태를 물음표로 덮어써 저장했다면 원래 바이트가 사라져 이 도구로 되돌릴 수 없습니다.

자동 감지 후에도 미리보기를 보세요

자동 감지는 UTF-8로 엄격하게 읽을 수 있는지 먼저 확인합니다. 그렇지 않으면 CP949를 시도합니다. 영문과 숫자만 있는 파일은 두 인코딩에서 똑같이 보일 수 있고, 특수문자가 섞이면 감지가 빗나갈 수 있습니다. 상품명·주소처럼 한글이 있는 여러 행을 보고 올바른 인코딩을 직접 선택하세요.

BOM이 필요한 경우

UTF-8 BOM은 파일 앞부분에 인코딩 표시를 붙입니다. 엑셀에서 파일을 바로 열 때 한글이 깨진다면 BOM을 포함해 저장하거나 엑셀의 데이터 가져오기에서 UTF-8을 지정할 수 있습니다. 반대로 업로드 대상 시스템이 BOM 없는 UTF-8을 요구한다면 그 조건에 맞게 저장해야 합니다.

앞자리 0은 인코딩과 다른 문제입니다

우편번호 01234나 전화번호를 엑셀이 숫자로 해석하면 앞자리 0이 사라질 수 있습니다. UTF-8로 바꾼다고 숫자 자동 변환까지 막을 수는 없습니다. 텍스트 XLSX 저장은 모든 값을 문자열 셀로 만들어 표기를 유지합니다. 이미 0이 사라진 원본에서는 올바른 길이를 알 수 없으므로 값을 임의로 보충하지 않습니다.

CP949 저장 전에 알아둘 점

CP949는 한국어 업무 시스템과 호환될 수 있지만 모든 유니코드 문자를 표현하지 못합니다. 이모지나 일부 외국어가 포함된 파일을 CP949로 바꾸면 손실이 생길 수 있습니다. 파일정리소는 변환 후 원문과 대조해 표현되지 않는 문자가 있으면 저장을 중단합니다. 이 경우 UTF-8을 사용하거나 대상 시스템의 지원 형식을 확인하세요.

CSV 한글 깨짐 해결 사용하기