카카오톡으로 받은 엑셀 파일을 열었더니 한글이 물음표나 알 수 없는 기호로 바뀌어 있는 경우, 파일이 손상된 것이 아니라 저장할 때 쓰인 문자 인코딩과 읽을 때 기대하는 인코딩이 서로 달라서 생긴 문제입니다. 엑셀의 기본 CSV 저장 방식은 한국어 윈도우 전용 코드페이지인 CP949를 쓰는데, 웹 시스템이나 데이터베이스, 리눅스·맥 환경은 대부분 UTF-8을 기본값으로 기대하기 때문입니다. 원본 엑셀 파일이 남아 있다면 'CSV UTF-8(쉼표로 분리)' 형식으로 다시 저장하는 것만으로 대부분 해결됩니다. 다만 이미 깨진 파일은 원래 문자 정보가 사라진 상태라 복구가 안 되므로 원본에서 다시 변환해야 합니다.
카카오톡 첨부 파일이 깨지는 이유는 인코딩 차이
엑셀에서 파일 형식을 그냥 'CSV(쉼표로 분리)'로 저장하면 실제로는 시스템 로캘의 ANSI 코드페이지로 저장됩니다. 한국어 윈도우에서 이 코드페이지는 CP949(구 EUC-KR을 확장한 표준)이고, 한글 한 글자를 정해진 2바이트 값으로 매핑합니다. 반면 웹 서버, 데이터베이스, 리눅스나 맥의 프로그램은 전 세계 문자를 하나의 체계로 표현하는 UTF-8을 기본값으로 기대합니다.
같은 글자라도 CP949가 쓰는 바이트 값과 UTF-8이 쓰는 바이트 값은 서로 다릅니다. UTF-8을 기대하는 프로그램이 CP949 바이트를 만나면 정의되지 않은 바이트 조합으로 해석해서 물음표나 깨진 기호로 대체하는 것입니다. 반대 방향도 마찬가지여서, UTF-8로 저장한 CSV를 엑셀에서 더블클릭으로 곧바로 열면 파일 앞에 BOM 표식이 없는 한 엑셀이 이를 시스템 기본 인코딩(CP949)으로 오인합니다.
숫자나 영문만 있는 열은 멀쩡한데 한글이 들어간 열만 깨진다면 파일 손상이 아니라 인코딩 문제로 봐야 합니다.
'CSV UTF-8'로 다시 저장하면 끝나는 경우
원본 엑셀 파일이 있다면 파일 > 다른 이름으로 저장을 실행한 뒤, 파일 형식 목록에서 'CSV(쉼표로 분리)'가 아니라 'CSV UTF-8(쉼표로 분리)'를 선택합니다. 이 옵션은 엑셀 2016 이후 버전에 포함되어 있고, 텍스트를 UTF-8로 인코딩하면서 파일 맨 앞에 BOM(Byte Order Mark)이라는 표식을 함께 기록합니다. 이 BOM 덕분에 나중에 같은 파일을 엑셀에서 다시 열어도 UTF-8임을 자동으로 인식해서 한글이 깨지지 않습니다.
저장 형식에 따라 결과가 어떻게 달라지는지 정리하면 다음과 같습니다.

| 저장 형식 | 인코딩 결과 |
|---|---|
| CSV(쉼표로 분리) | CP949, BOM 없음 |
| CSV UTF-8(쉼표로 분리) | UTF-8, BOM 포함 |
이미 깨진 파일은 복구가 아니라 재변환이 답
메모장으로 깨진 파일을 열어 다른 이름으로 저장하면서 하단의 인코딩 항목을 UTF-8로 바꾸는 방법이 알려져 있습니다. 하지만 메모장에서 열었을 때 이미 물음표나 깨진 기호로 보인다면 원본 문자 정보가 사라진 것이므로 이 방식으로는 복구되지 않습니다. 반드시 엑셀 원본 파일에서 인코딩을 다시 지정해 새로 저장해야 합니다.
원본이 없고 깨진 파일만 남았다면, 어떤 인코딩으로 저장됐는지 추정해서 다시 읽어보는 시도는 가능하지만 원래 글자가 완전히 되살아난다는 보장은 없습니다.
상황별로 확인할 것

- 내가 보내는 입장: 엑셀에서 'CSV UTF-8(쉼표로 분리)'로 저장한 파일을 카카오톡으로 전송
- 받는 쪽이 웹 시스템에 업로드하는 경우: 업로드 화면에서 인코딩(UTF-8 등)과 구분자를 직접 선택할 수 있는지 확인
- 엑셀에서 다시 열 때 깨지는 경우: BOM이 포함된 UTF-8인지 확인하고, 아니라면 원본에서 재저장
- 숫자·영문만 깨짐 없이 보이는 경우: 파일 손상이 아니라 인코딩 불일치로 판단
자주 묻는 질문
Q. 카카오톡으로 받은 파일이 깨졌는데 보낸 사람에게 뭐라고 요청해야 하나요?
엑셀에서 'CSV UTF-8(쉼표로 분리)' 형식으로 다시 저장해서 보내달라고 요청하는 것이 가장 확실합니다. 형식만 바꿔 저장하면 되므로 보내는 쪽 부담도 크지 않습니다.
Q. 엑셀 2016 이전 버전에서는 어떻게 하나요?
'CSV UTF-8' 옵션이 없을 수 있습니다. 이 경우 메모장이나 별도 편집기에서 원본을 열어 UTF-8로 저장하는 방식으로 우회할 수 있지만, 원본 문자 정보가 남아 있는 파일에만 통합니다.
Q. CSV 말고 xlsx로 받으면 괜찮나요?
xlsx는 내부적으로 문자를 별도 체계로 저장하기 때문에 CSV 인코딩 문제와는 다른 성격입니다. 다만 상대 시스템이 xlsx 업로드를 지원하는지 먼저 확인해야 합니다.
Q. 웹사이트 업로드 화면에서 인코딩을 고를 수 있으면 어떻게 해야 하나요?
엑셀 파일을 업로드하고 인코딩(UTF-8 등)과 구분자를 선택하면 한글이 깨지지 않는 CSV 파일을 바로 만들어 다운로드할 수 있는 경우가 있습니다. 업로드 화면에 해당 선택 항목이 있는지 먼저 확인해 보시기 바랍니다.