CSV 파일 열었더니 한글이 깨질 때 - 원인과 해결법

CSV 파일을 받았는데 Excel에서 열자마자 한글이 ���처럼 깨지거나 전혀 알아볼 수 없는 문자로 표시되는 경우가 있습니다.

파일 자체가 손상된 것처럼 보이지만 실제로는 CSV 안의 한글이 저장된 방식과 Excel이 파일을 읽는 방식이 서로 맞지 않아 발생하는 경우가 많습니다.

특히 다른 시스템에서 내려받은 CSV, 웹사이트에서 다운로드한 자료, UTF-8로 저장된 파일에서 자주 발생합니다.

이럴 때는 파일을 더블클릭해서 바로 열기보다 Excel의 데이터 가져오기 기능으로 문자 인코딩을 지정해서 불러오는 방법이 가장 확실합니다.

1. CSV 파일의 한글은 왜 깨질까?

CSV 파일을 엑셀에서 바로 열었더니 한글이 깨진 화면


CSV는 표처럼 보이지만 실제로는 쉼표 등의 구분자로 데이터를 나눈 텍스트 파일입니다.

따라서 셀에 들어 있는 문자도 특정 문자 인코딩 방식으로 저장됩니다.

대표적으로 다음과 같은 방식이 있습니다.

  • UTF-8 - 웹, 프로그램, 다양한 운영체제에서 널리 사용하는 방식
  • CP949 또는 EUC-KR 계열 - 오래된 국내 프로그램이나 일부 시스템에서 사용되는 한글 인코딩

문제는 CSV 파일이 UTF-8로 저장되어 있는데 Excel이 다른 문자 집합으로 읽거나, 반대로 다른 방식으로 저장된 파일을 UTF-8로 해석하면 한글이 깨질 수 있다는 점입니다.

그래서 파일을 열었을 때 한글만 이상하고 숫자나 영문은 정상이라면 인코딩 문제를 먼저 의심해볼 수 있습니다.

2. 먼저 파일 자체가 정상인지 확인하기

바로 Excel에서 수정하기 전에 CSV 파일 자체에 한글 데이터가 정상적으로 들어 있는지 확인해보는 것이 좋습니다.

CSV 파일을 메모장이나 다른 텍스트 편집기로 열어봅니다.

텍스트 편집기에서는 다음처럼 정상적인 한글이 보이는데 Excel에서만 깨진다면 파일 내용이 사라진 것이 아니라 Excel에서 읽어들이는 과정의 문제일 가능성이 높습니다.

거래처코드 거래처명 지역 금액
C001 대성물산 서울 120000
C002 한빛상사 부산 85000
C003 제일유통 대구 210000

반대로 텍스트 편집기에서도 이미 글자가 깨져 있다면 Excel에서 불러오는 방법만 바꿔서는 해결되지 않을 수 있습니다. 이 경우에는 원본을 만든 프로그램에서 어떤 인코딩으로 내보냈는지 확인하는 것이 우선입니다.

3. CSV를 더블클릭해서 바로 열지 않기

CSV 파일을 더블클릭하면 Excel이 파일을 바로 열면서 문자 형식과 각 열의 데이터 형식을 자동으로 판단합니다.

이 자동 판단이 파일의 실제 인코딩과 맞지 않으면 한글이 깨질 수 있습니다.

따라서 문제가 발생했다면 깨진 파일에서 글자를 직접 고치려고 하기보다 Excel을 먼저 실행하고 CSV를 다시 가져오는 것이 좋습니다.

4. Excel의 데이터 가져오기로 CSV 열기

Excel을 새로 실행한 다음 상단 메뉴에서 데이터 탭으로 이동합니다.

최근 Excel에서는 보통 다음과 비슷한 메뉴를 찾을 수 있습니다.

데이터 → 텍스트/CSV에서

엑셀 데이터 탭에서 텍스트 CSV 가져오기를 선택하는 화면

CSV 파일을 선택하면 파일 내용을 바로 시트에 넣는 것이 아니라 미리보기 화면이 나타납니다.

여기서 중요한 것이 파일 원본 또는 문자 인코딩 설정입니다.

UTF-8 CSV라면 일반적으로 다음 항목을 선택합니다.

65001: Unicode (UTF-8)

선택하는 즉시 미리보기의 깨진 한글이 정상적으로 표시되는지 확인합니다.

불러오기 버튼을 누르기 전에 미리보기에서 한글이 정상인지 확인하는 것이 핵심입니다.

5. 구분 기호도 함께 확인하기

한글이 정상으로 바뀌었다고 바로 불러오지 말고 열이 제대로 나뉘었는지도 확인합니다.

CSV는 보통 쉼표를 구분자로 사용하지만 파일에 따라 세미콜론, 탭 등 다른 문자가 사용될 수도 있습니다.

예를 들어 모든 내용이 A열 하나에 몰려 있다면 문자 인코딩이 아니라 구분 기호 설정이 맞지 않는 경우일 수 있습니다.

미리보기에서 거래처코드, 거래처명, 지역, 금액이 각각 별도의 열로 나뉘어 있는지 확인한 뒤 데이터를 불러옵니다.

6. 정상적으로 불러왔는지 확인하기

UTF-8을 선택하고 올바른 구분 기호까지 설정했다면 원래 깨졌던 한글이 정상적으로 표시되어야 합니다.

확인 항목 정상 상태
한글 거래처명과 지역명이 정상 표시됨
열 구분 각 항목이 별도 열에 배치됨
숫자 금액과 코드가 의도한 형식으로 들어옴

여기서 한 가지 더 확인할 것이 있습니다. 한글은 정상인데 코드의 앞자리 0이 없어지거나 긴 숫자가 다른 형태로 바뀌는 경우입니다.

예를 들어 001234 같은 관리번호를 Excel이 숫자로 판단하면 1234로 바뀔 수 있습니다.

이 문제는 한글 인코딩과는 별개의 데이터 형식 자동 변환 문제이므로 코드·전화번호·관리번호처럼 계산하지 않는 값은 텍스트 형식으로 가져오는 것이 안전합니다.

엑셀에서 한글이 정상적으로 보이도록 불러온 거래처 데이터 표

7. 데이터 변환 화면을 이용하면 열 형식도 조정할 수 있습니다

CSV를 불러오는 과정에서 단순히 불러오기를 누르는 대신 데이터 변환을 선택할 수 있는 Excel 버전도 있습니다.

이 경우 Power Query 편집기에서 각 열의 형식을 확인하고 수정할 수 있습니다.

예를 들어 다음 데이터는 숫자보다 텍스트로 처리하는 편이 안전한 경우가 많습니다.

  • 제품코드
  • 거래처코드
  • 사번
  • 관리번호
  • 앞자리가 0으로 시작하는 번호

금액이나 수량처럼 계산할 값은 숫자로 두고, 식별용 코드는 텍스트로 설정하면 원본 형태를 유지하기 쉽습니다.

숫자가 텍스트로 저장되어 계산이나 조회가 안 되는 반대 상황은 엑셀 숫자가 텍스트로 저장됐을 때, 원인과 해결법 4가지에서 별도로 정리했습니다.

8. 다른 이름으로 저장하면 해결되는 경우와 그렇지 않은 경우

한글이 깨졌을 때 흔히 사용하는 방법 중 하나가 파일을 열고 다른 이름으로 저장하는 것입니다.

하지만 이미 잘못된 문자로 열린 상태에서 그대로 다시 저장하면 깨진 문자열 자체가 저장될 수 있습니다.

따라서 한글이 깨진 CSV라면 먼저 데이터 가져오기를 이용해 문자를 정상적으로 불러온 다음 필요한 형식으로 저장하는 순서가 안전합니다.

CSV로 다시 저장해야 한다면 저장 형식에서 UTF-8을 명확하게 선택할 수 있는 경우 다음과 같은 형식을 확인합니다.

CSV UTF-8(쉼표로 분리)(*.csv)

반대로 앞으로 Excel에서만 편집할 파일이고 CSV 형식을 유지할 필요가 없다면 .xlsx로 저장하는 방법도 있습니다.

9. CSV와 XLSX는 저장 방식이 다릅니다

CSV를 Excel에서 열면 일반적인 Excel 파일처럼 보이지만 실제 파일 구조는 다릅니다.

CSV에는 기본적으로 하나의 표 형태의 텍스트 데이터가 저장되며 Excel 통합문서의 여러 기능을 그대로 보존하는 형식이 아닙니다.

따라서 CSV 상태에서 다음과 같은 Excel 기능을 추가한 뒤 저장할 때는 주의해야 합니다.

  • 여러 시트
  • 복잡한 셀 서식
  • 차트
  • 도형
  • 일부 수식 및 Excel 전용 기능

이런 작업을 유지해야 한다면 CSV 원본은 별도로 보관하고 편집본을 .xlsx로 저장하는 편이 좋습니다.

10. Excel 버전에 따라 메뉴 이름이 다를 수 있습니다

Excel 버전에 따라 CSV를 가져오는 메뉴의 이름이나 위치가 조금씩 다를 수 있습니다.

Microsoft 365나 비교적 최근 버전에서는 데이터 → 텍스트/CSV에서 형태의 메뉴를 찾을 수 있습니다.

오래된 Excel에서는 텍스트 파일 가져오기, 외부 데이터 가져오기 등 비슷한 이름으로 표시될 수 있습니다.

따라서 메뉴 이름이 이 글과 정확히 같지 않더라도 텍스트 또는 CSV 파일을 가져오는 기능을 찾으면 됩니다.

자주 막히는 문제

1) UTF-8을 선택했는데도 한글이 계속 깨집니다

원본 CSV가 UTF-8이 아닐 가능성이 있습니다.

파일을 만든 프로그램에서 어떤 인코딩으로 CSV를 내보냈는지 확인하고, Excel의 가져오기 미리보기에서 다른 파일 원본을 선택해 한글이 정상적으로 표시되는 항목을 찾습니다.

문자 인코딩을 무작정 UTF-8로 고정하는 것보다 미리보기에서 실제 데이터가 정상으로 보이는지를 기준으로 판단하는 것이 중요합니다.

2) 한글은 정상인데 데이터가 한 열에 전부 들어갑니다

이 경우는 인코딩보다 구분 기호 문제일 가능성이 높습니다.

가져오기 화면에서 쉼표, 세미콜론, 탭 등 파일에 맞는 구분 기호를 선택합니다.

3) 제품코드 앞의 0이 사라졌습니다

Excel이 해당 열을 숫자로 자동 인식했을 가능성이 있습니다.

00125 같은 코드는 계산용 숫자가 아니라 식별용 값이라면 텍스트로 가져오는 것이 좋습니다.

4) 이미 깨진 상태로 저장해버렸습니다

원본 CSV가 남아 있다면 원본 파일을 다시 데이터 가져오기로 불러오는 것이 좋습니다.

이미 깨진 문자로 덮어쓴 파일만 남아 있다면 단순히 인코딩 설정을 바꾸는 것만으로 원래 한글을 완전히 복원하지 못할 수도 있습니다.

그래서 원본 CSV는 바로 덮어쓰지 않고 별도로 보관하는 습관이 중요합니다.

5) 메모장에서는 정상인데 Excel에서만 깨집니다

이 경우 파일 안의 데이터는 정상일 가능성이 높습니다.

Excel에서 파일을 더블클릭해서 열지 말고 데이터 → 텍스트/CSV에서 방식으로 다시 불러오면서 올바른 인코딩을 지정해봅니다.

빠르게 해결하는 순서

  1. 원본 CSV를 별도로 보관합니다.
  2. 메모장 등에서 한글이 정상인지 확인합니다.
  3. Excel을 먼저 실행합니다.
  4. 데이터 → 텍스트/CSV에서로 파일을 선택합니다.
  5. 파일 원본에서 UTF-8 등 올바른 인코딩을 선택합니다.
  6. 미리보기에서 한글이 정상인지 확인합니다.
  7. 쉼표 등 구분 기호가 맞는지 확인합니다.
  8. 제품코드와 관리번호처럼 필요한 열은 텍스트 형식인지 확인합니다.
  9. 정상적으로 불러온 뒤 필요한 경우 XLSX 또는 CSV UTF-8로 저장합니다.

정리

  • CSV 한글 깨짐은 파일 손상보다 문자 인코딩 불일치 때문에 발생하는 경우가 많습니다.
  • 깨진 CSV는 더블클릭해서 바로 열기보다 Excel의 텍스트/CSV 가져오기를 사용하는 것이 좋습니다.
  • UTF-8 파일이라면 65001: Unicode (UTF-8)을 선택한 뒤 미리보기를 확인합니다.
  • 한글은 정상인데 한 열에 몰린다면 구분 기호도 확인합니다.
  • 코드 앞자리 0이 사라지는 문제는 인코딩이 아니라 열 데이터 형식 문제일 수 있습니다.
  • 이미 한글이 깨진 상태로 다시 저장하기 전에 원본 CSV를 보관하는 것이 안전합니다.
  • Excel 기능을 추가해 계속 편집할 파일이라면 CSV보다 .xlsx로 저장하는 편이 적합할 수 있습니다.

CSV 한글 깨짐 문제는 파일을 반복해서 열고 저장하는 것보다 원본 파일의 인코딩을 확인하고 Excel에서 올바른 방식으로 가져오는 것이 핵심입니다.

한 번 가져오기 방식을 익혀두면 시스템에서 내려받은 거래내역이나 명단처럼 CSV를 자주 다루는 업무에서도 같은 방식으로 해결할 수 있습니다.

관련 글

댓글