압축 파일명 깨짐 해결 — 한글 이름 복구하는 법

확인일 2026-09-06 변동형 — 확인일 기준

압축 파일명 깨짐은 손상이 아니라 ZIP이 파일명을 저장하는 방식이 여러 가지라서 생기며, 받은 파일은 압축 프로그램의 코드페이지를 바꿔 읽으면 대부분 해결됩니다.

증상 원인 할 일
한글 이름이 깨져 보임(내용은 정상) 압축한 쪽과 푸는 쪽의 파일명 인코딩 방식이 어긋남 압축 프로그램에서 코드페이지(EUC-KR/UTF-8)를 바꿔가며 목록 확인 후 풀기
인코딩을 바꿔도 안 됨 프로그램마다 지원하는 방식이 다름 다른 압축 프로그램으로 열어 보기
배포용으로 안전하게 보내고 싶음 한글이 있으면 어떤 방식이든 깨질 여지가 있음 파일명을 영문·숫자로 바꿔 압축

증상

압축 파일을 푸는 순간 파일 이름이 알아볼 수 없는 문자로 바뀝니다.

  • 한글 이름이 ÆÄÀϸí·���·????? 같은 모양으로 나옴
  • 폴더 이름까지 깨져서 어느 폴더가 무엇인지 알 수 없음
  • 파일은 정상적으로 열리는데 이름만 깨짐
  • 다른 사람은 멀쩡히 받았다는데 내 PC에서만 깨짐(또는 그 반대)
  • 맥에서 압축한 파일을 윈도우에서 풀 때, 또는 그 반대일 때 자주 발생

내용은 멀쩡하고 이름만 깨진다면 파일이 손상된 것이 아닙니다. 파일명을 어떤 방식으로 저장했는지가 서로 맞지 않아서 생기는 일입니다.

왜 생기나 — ZIP은 원래 한글을 몰랐습니다

ZIP 포맷은 1980년대에 만들어졌고, 다국어를 담는 유니코드와 UTF-8은 1990년대가 지나서 개발됐습니다. 그래서 초기 ZIP 포맷에는 UTF-8이라는 개념 자체가 없었습니다.[1]

이후 ZIP이 표준처럼 쓰이면서 유니코드를 담을 방법이 여럿 만들어졌는데, 방식이 하나로 통일되지 않았습니다. 반디집 설명 기준으로 현재 쓰이는 방식은 크게 두 가지입니다.[1]

저장 방식 내용 호환성
파일명 자체를 UTF-8로 저장 ZIP 표준 문서(APPNOTE)에 정의된 방식 일부 압축 프로그램이 이를 제대로 인식하지 못해 오히려 깨져 보이는 경우가 있음[1]
MBCS로 저장 + 확장 필드에 UTF-8 추가 파일명은 기존 방식으로 두고, 별도 칸에 UTF-8 이름을 함께 저장(Info-ZIP Unicode Path Extra Field) 파일 크기가 수십 바이트 커지지만 호환성은 더 좋은 편. 7-Zip·WinRAR·WinZip이 이 필드를 지원[1]

정리하면, 압축한 쪽이 쓴 방식과 푸는 쪽 프로그램이 이해하는 방식이 어긋나면 이름이 깨집니다. 어느 한쪽 프로그램이 잘못된 것이 아닙니다.[1]

이미 받은 파일을 살리는 방법

받은 파일은 이미 압축이 끝난 상태라 저장 방식을 바꿀 수 없습니다. 대신 푸는 쪽에서 코드페이지(문자 인코딩)를 바꿔 읽는 방법을 씁니다.

  1. 압축 파일을 바로 풀지 말고 압축 프로그램으로 열어 목록만 봅니다. 이 단계에서 이름이 깨져 보이는지 확인합니다.
  2. 압축 프로그램의 코드페이지(인코딩) 변경 기능으로 다른 인코딩을 골라 봅니다. 한국어 파일이면 한국어(EUC-KR/CP949)와 UTF-8을 번갈아 시도합니다.
  3. 목록에서 이름이 정상으로 보이는 인코딩을 찾은 뒤 그 상태에서 압축을 풉니다.
  4. 인코딩을 바꿔도 안 되면 다른 압축 프로그램으로 열어 봅니다. 위 표처럼 프로그램마다 지원하는 방식이 달라, 한 프로그램에서 깨지던 것이 다른 프로그램에서는 정상으로 보이는 경우가 있습니다.[1]

압축 파일 한글이 깨질 때 확인 순서
압축 파일 한글이 깨질 때 확인 순서

자동 인식 기능에 기대기 어려운 이유도 알아 둘 만합니다. 반디집 설명에 따르면 코드페이지 자동 인식은 주어진 문자열을 가지고 추정하는 방식이라 100% 정확성을 보장하지 못하며, 특히 포함된 문자열이 적거나 비슷한 문자열이 나열된 경우 오작동하는 경우가 종종 있습니다.[2] 파일이 몇 개 없는 압축 파일에서 자동 인식이 자주 틀리는 것이 이 때문입니다.

보낼 때 안 깨지게 압축하는 법

받는 쪽이 어떤 환경인지 모른다면 다음 기준으로 고릅니다.

받는 쪽 권장 이유
윈도우 사용자(국내) 확장 필드에 UTF-8을 함께 저장하는 방식 파일명은 기존 방식으로 저장돼 옛 프로그램에서도 읽히고, 지원하는 프로그램에서는 정확한 이름이 나옴[1]
맥·리눅스 사용자 TAR/TGZ로 압축하면서 UTF-8 파일명 저장 Unix 계열은 UTF-8 파일명을 쓰므로 한글이 있어도 정상적으로 풀림. 단 일부 윈도우 프로그램이 TAR/TGZ의 UTF-8을 인식하지 못할 수 있음[1]
다른 언어권 확장 필드 방식 한국어 윈도우에서 압축한 파일을 일본어 윈도우에서 열어도 이름이 깨지지 않는 사례가 개발사 문서에 예시로 실려 있음[1]

가장 확실한 회피책은 파일명을 영문과 숫자로 바꿔 압축하는 것입니다. 한글이 아예 없으면 어떤 방식으로 저장하든 깨질 일이 없습니다. 중요한 자료를 여러 사람에게 배포한다면 이 방법이 가장 안전합니다.

주의할 점

  • 깨진 이름 그대로 풀어 두면 나중에 되살리기 어렵습니다. 압축을 푸는 순간 그 이름으로 디스크에 저장되므로, 원본 압축 파일을 지우지 말고 인코딩을 바꿔 다시 푸는 편이 낫습니다.
  • 이름이 깨졌다고 파일이 손상된 것은 아닙니다. 대부분 내용은 정상이므로 확장자를 확인해 열어 보면 무슨 파일인지 알 수 있습니다.
  • 암호가 걸린 압축 파일은 인코딩 문제와 별개입니다. 암호가 틀리면 이름이 아니라 압축 해제 자체가 실패합니다.
  • 표준 방식(파일명 자체를 UTF-8로 저장)이 항상 정답은 아닙니다. 개발사 문서도 이 방식이 일부 프로그램에서 오히려 깨져 보인다고 적고 있습니다.[1]

정리

한글 파일명 깨짐은 고장이 아니라 ZIP이 파일명을 저장하는 방식이 여러 가지라서 생기는 호환성 문제입니다. 받은 파일은 푸는 쪽에서 인코딩을 바꿔 읽고, 보낼 파일은 확장 필드에 UTF-8을 함께 저장하는 방식으로 압축하면 대부분 해결됩니다. 배포용이라면 파일명을 영문으로 두는 것이 가장 확실합니다.[1][2]