맥에서 만든 ZIP, 윈도우에서 한글 파일 이름이 깨질 때
업데이트
맥에서 만든 ZIP의 한글 파일 이름이 윈도우에서 깨지는 까닭은 보통 두 가지입니다. 하나는 UTF-8로 적힌 이름을 윈도우의 압축 도구가 한국어 윈도우 방식(CP949)으로 읽는 경우로, 알아볼 수 없는 글자가 나옵니다. 다른 하나는 자음과 모음이 나뉜 형태(NFD)로 저장된 맥 파일 이름이 그대로 들어간 경우로, "ㅎㅐㅁㅣㄹ"처럼 자소가 나뉘어 보입니다.
해밀 탐색기의 "압축(ZIP) 파일로 보내기"는 이름을 완성형(NFC) UTF-8로 넣고 UTF-8이라는 표시를 붙이며, .DS_Store · ._* · __MACOSX 같은 Mac 전용 파일을 뺍니다. 한국어 윈도우에서 만든 ZIP은 "모두 압축 풀기"가 CP949 이름을 읽어 한글 그대로 풉니다. 두 기능 모두 무료입니다.
왜 깨지나요
같은 질문이 여러 해에 걸쳐 올라옵니다. 클리앙의 "맥에서 압축한 파일, 윈도우에서 열때 한글깨짐 현상" 글(clien.net/service/board/cm_mac/16570448)과 "맥-윈도우 간 한글 자소분리 문제" 글(clien.net/service/board/cm_mac/11170619)이 그 예입니다.
첫째 까닭은 글자 체계입니다. ZIP은 파일 이름을 바이트로 적고, 그 이름이 UTF-8이면 그렇다는 표시(UTF-8 플래그)를 붙일 수 있습니다. 표시가 없으면 윈도우의 일부 도구는 이름을 한국어 윈도우의 옛 방식인 CP949로 읽습니다. UTF-8 한글을 CP949로 읽으면 알아볼 수 없는 글자가 됩니다.
둘째 까닭은 한글을 적는 형태입니다. 한글 한 글자는 완성형(NFC)으로 한 글자로 적을 수도 있고, 첫소리 · 가운뎃소리 · 끝소리로 나눈 형태(NFD)로 적을 수도 있습니다. 맥에서는 같은 한글 이름이 두 형태 중 어느 쪽으로든 저장될 수 있습니다. NFD 이름이 ZIP에 그대로 들어가면 윈도우에서는 "ㅎㅐㅁㅣㄹ"처럼 자소가 나뉘어 보입니다.
해밀 탐색기로 윈도우에 보낼 ZIP 만들기
- 압축할 파일이나 폴더를 고릅니다. 여러 개를 함께 골라도 됩니다.
- 고른 항목을 오른쪽 클릭하고 "압축(ZIP) 파일로 보내기"를 고릅니다.
- 진행률은 복사할 때처럼 아래 상태 표시줄에 나오고, 도중에 취소할 수 있습니다.
ZIP 안의 이름은 완성형(NFC) UTF-8로 들어가고 UTF-8 표시가 붙습니다. 맥에 있는 원래 파일 이름은 바꾸지 않습니다.
.DS_Store, ._로 시작하는 파일, __MACOSX 폴더, 폴더 아이콘 파일(Icon), .localized 같은 Mac 전용 파일은 넣지 않습니다.
해밀이 만든 ZIP을 윈도우의 모든 압축 도구에서 시험해 본 것은 아닙니다. UTF-8 표시를 무시하는 도구에서는 여전히 깨질 수 있습니다.
윈도우에서 받은 ZIP을 맥에서 풀 때
- ZIP 파일을 고릅니다.
- ZIP을 오른쪽 클릭하고 "모두 압축 풀기"를 고릅니다. 풀 곳을 보여 주는 확인 창이 뜹니다.
한국어 윈도우에서 만든 ZIP은 이름을 CP949로 적고 UTF-8 표시를 붙이지 않는 경우가 많습니다. 해밀은 UTF-8로 읽히지 않는 이름을 CP949로 읽어서 한글 이름 그대로 풉니다.
압축 폴더 밖을 가리키는 이름이 든 항목은 풀지 않습니다. 받은 ZIP이 다른 폴더의 파일을 덮어쓰는 일을 막기 위해서입니다.
__MACOSX 폴더와 ._ 파일은 왜 들어가나요
macOS의 압축은 확장 속성 같은 Mac 전용 정보를 __MACOSX 폴더와 ._로 시작하는 파일에 따로 담아 넣는 경우가 있습니다. .DS_Store는 Finder가 폴더의 보기 설정을 적어 두는 숨은 파일입니다.
윈도우에서는 이 파일들이 쓸모가 없어서, 받는 사람에게는 정체를 알 수 없는 파일로 보입니다. 해밀의 "압축(ZIP) 파일로 보내기"는 이 파일들을 넣지 않습니다.
압축하지 않고 보낸 파일의 자소 분리
메일 첨부, USB, 클라우드로 파일을 그대로 보낼 때도 NFD 이름 때문에 자소가 나뉘어 보일 수 있습니다.
해밀은 ZIP 안에 넣는 이름만 NFC로 바꾸고, 맥에 있는 파일 이름 자체는 바꾸지 않습니다. 그래서 압축하지 않고 보낸 파일의 자소 분리는 해밀이 고치지 않습니다. 보낼 파일을 해밀로 ZIP으로 묶어 보내면 ZIP 안의 이름은 NFC로 들어갑니다.
풀지 않고 ZIP 안을 보려면
.zip 파일을 두 번 누르거나 Enter를 누르면 풀지 않고 폴더처럼 열립니다. 주소창에 ~/Downloads/자료.zip/사진처럼 ZIP 안의 경로를 바로 쳐도 됩니다.
안의 파일은 미리 보기 창과 훑어보기(Space)로 봅니다. 필요한 것만 다른 폴더로 끌어 놓거나 ⌘C 뒤 ⌘V로 꺼냅니다. ZIP 안은 읽기 전용이라 이름 바꾸기나 삭제는 되지 않습니다.
폴더처럼 열어 보는 기능은 ZIP용입니다. 7z · rar · tar 계열과 암호가 걸린 zip은 0.9.35부터 풀 수 있습니다.
ZIP 안 열어보기는 Pro 기능이며 처음 14일 동안 무료로 써 볼 수 있습니다.
한눈에 보기
| 하고 싶은 일 | 해밀 탐색기에서 | 무료 / Pro |
|---|---|---|
| 윈도우로 보낼 ZIP 만들기 | 오른쪽 클릭 › 압축(ZIP) 파일로 보내기 | 무료 |
| 한국어 윈도우에서 만든 ZIP 풀기 | 모두 압축 풀기 (CP949 이름을 읽음) | 무료 |
| 풀지 않고 ZIP 안 보기 | .zip을 두 번 누르기 또는 Enter | Pro |
자주 묻는 질문
해밀로 만든 ZIP은 윈도우에서 절대 안 깨지나요?
해밀은 이름을 NFC UTF-8로 넣고 UTF-8 표시를 붙입니다. 이 표시를 읽는 도구라면 한글이 바르게 나옵니다. 윈도우의 모든 압축 도구에서 시험한 것은 아니어서 절대 안 깨진다고 말하지는 않습니다.
맥에 있는 파일 이름도 NFC로 바꿔 주나요?
아니요. 해밀은 ZIP 안에 넣는 이름만 바꾸고, 맥에 있는 원래 파일 이름은 그대로 둡니다.
7z나 rar도 풀 수 있나요?
0.9.35부터 됩니다. 7z · rar · tar · tar.gz · tar.bz2 · tar.xz와 암호가 걸린 zip을 풉니다. 만들기는 ZIP만 됩니다.
이 기능은 유료인가요?
ZIP 만들기와 모두 압축 풀기는 무료입니다. 풀지 않고 ZIP 안을 보는 기능만 Pro이며, 처음 14일 동안 무료로 써 볼 수 있습니다.