CSV를 엑셀로 열면 한글이 깨지고 앞자리 0이 사라지는 까닭
고친 날: 2026-11-04 · 고팡
구글 폼 응답, 쇼핑몰 주문 내역, 은행 거래 내역을 CSV로 받아 엑셀에서 두 번 눌러 열면 두 가지 일이 자주 생깁니다. 한글이 알아볼 수 없는 글자로 깨지거나, 전화번호 앞의 0이 사라지는 것입니다. 둘 다 파일이 망가진 것이 아니라 엑셀이 CSV를 읽는 방식 때문입니다.
한글이 깨지는 까닭 — 글자 꼴(인코딩)
컴퓨터는 글자를 숫자로 바꿔 저장하는데, 그 규칙을 인코딩이라고 합니다. 한글에 쓰는 규칙은 크게 둘입니다. 요즘 웹 서비스가 쓰는 UTF-8과, 예전부터 한국어 윈도우가 쓰던 EUC-KR(CP949)입니다. CSV 파일에는 어떤 규칙으로 적었는지가 따로 적혀 있지 않습니다. 한국어 윈도우의 엑셀은 앞에 표시(BOM)가 없는 CSV를 EUC-KR로 읽기 때문에, UTF-8로 적힌 한글이 깨져 보입니다.
반대 방향도 있습니다. 엑셀이 "CSV(쉼표로 분리)"로 저장한 파일은 EUC-KR이라, 맥이나 구글 시트, 웹 서비스에 올리면 한글이 깨질 수 있습니다.
0이 사라지는 까닭 — 엑셀의 자동 숫자 변환
엑셀은 CSV를 열 때 숫자처럼 보이는 칸을 모두 숫자로 바꿉니다. 그래서 이런 일이 생깁니다.
| CSV 안의 글 | 엑셀에서 보이는 것 | 까닭 |
|---|---|---|
| 01012345678 | 1012345678 | 숫자는 앞의 0을 적지 않음 |
| 1234567890123456 | 1.23457E+15 (끝자리 0) | 엑셀 숫자 정밀도는 15자리 |
| 1-2 | 1월 2일 | 날짜처럼 보이면 날짜로 바꿈 |
한 번 숫자로 바뀌어 저장되면 사라진 0과 15자리 뒤의 숫자는 되살릴 수 없습니다. 엑셀에서 저장하기 전에 바로잡아야 합니다.
해결 방법
- 한글만 깨질 때: 깨진 한글 고치기에 CSV를 넣으면 원래 글자 꼴을 알아본 뒤 엑셀이 바로 알아보는 UTF-8(BOM)로 다시 저장합니다. 반대로 엑셀이 만든 CSV를 다른 곳에 올릴 때는 받을 꼴을 "UTF-8 (BOM 없음)"으로 고르세요.
- 0·긴 번호·날짜까지 지키려면: CSV → 엑셀로 엑셀 파일(XLSX)을 만드세요. 앞이 0인 숫자, 15자리 넘는 숫자, 날짜처럼 보이는 글을 글자 칸으로 넣어 그대로 지킵니다. 한글이 깨진 CSV도 글자 꼴을 알아보고 읽습니다.
- 엑셀 안에서 하려면: [데이터 → 텍스트/CSV에서] 가져오기로 열고, 원본 파일의 글자 꼴을 65001: 유니코드(UTF-8)로, 번호 열의 데이터 형식을 텍스트로 고른 뒤 불러오세요.
알아 두면 좋은 것
- 이미 깨진 글자(?, �)로 다시 저장된 파일은 원래 글자 정보가 사라졌을 수 있어 되살리지 못합니다. 처음 받은 원본 파일을 쓰세요.
- 남이 보낸 CSV에 =, +, -, @ 로 시작하는 칸이 있으면 엑셀이 수식으로 실행할 수 있습니다. CSV → 엑셀 도구는 이런 칸도 글자 칸으로 넣어 실행되지 않게 합니다.
- 엑셀 한 시트에는 1,048,576줄, 16,384칸까지 들어갑니다.
- 고객 명단·연락처가 든 CSV도 이 브라우저 안에서만 처리되고 서버로 가지 않습니다.
출처
- Microsoft 지원, "Excel 사양 및 제한" — 숫자 정밀도 15자리, 1,048,576행×16,384열, 셀당 32,767자