파일 이름이 뜻 모를 글자로 나오는 ZIP, 즉 한국어, 일본어, 중국어, 키릴 문자, 악센트가 붙은 이름이 있어야 할 자리에 네모, 엉뚱한 악센트 문자, 기호가 보이는 ZIP을 끌어다 놓으면 바로 이 브라우저 탭 안에서 모든 이름이 다시 읽을 수 있게 다시 쓰입니다. 아무것도 업로드되지 않습니다. 압축 파일은 전부 사용 중인 기기에서 읽히고 다시 만들어지며, 안의 파일은 바이트 단위로 그대로 복사됩니다.
ZIP 파일 이름이 깨지는 이유
ZIP 포맷에는 파일 이름이 어떤 인코딩인지 알려 주는 필드가 없습니다. Windows 탐색기는 그 컴퓨터가 쓰는 구형 코드 페이지 그대로 이름을 저장합니다. 일본어 Windows는 Shift_JIS, 중국어는 GBK, 한국어는 EUC-KR, 러시아어와 우크라이나어는 CP866, 서유럽 대부분은 CP850이며, 플래그는 설정하지 않습니다. Mac, 휴대폰, 다른 언어로 설정된 Windows PC는 추측해야 하고, 그 추측이 틀립니다. 반대 방향도 일어납니다. macOS는 플래그 없이 UTF-8 이름을 기록하고, 일본어 Windows는 이를 Shift_JIS로 읽습니다. 어느 경우든 바이트는 온전하고 해석만 틀린 것이며, 그래서 이름을 복구할 수 있습니다.
복구 방식
압축 파일의 모든 이름을 읽습니다. 이미 유효한 UTF-8인 이름은 정확히 그대로 유지합니다. 나머지는 Windows가 실제로 기록하는 코드 페이지를 하나씩 시도해, 제어 문자나 상자 그리기 기호, 반각 가타카나가 아니라 그럴듯한 단어가 나오는지로 점수를 매깁니다. 판정은 압축 파일 전체에 대해 하나로 내리므로, 짧고 모호한 이름도 이웃 이름들이 주는 확실성을 따릅니다. 그런 다음 이름은 플래그가 설정된 UTF-8로 다시 쓰이며, Windows 10과 11, macOS, Linux, iOS, Android, 7-Zip이 모두 올바르게 읽습니다.
자동 감지가 틀릴 때
번체와 간체 중국어는 바이트 수준에서 호환되는 부분이 많아 Big5 압축 파일이 GBK로 읽힐 수 있고, 어떤 문자든 아주 짧은 이름은 둘 이상의 코드 페이지에 맞을 수 있습니다. 드롭다운에서 코드 페이지를 직접 지정할 수 있습니다. ZIP을 만든 Windows에 맞는 것을 선택하세요. 자동 감지가 어느 코드 페이지에도 넣을 수 없었던 이름은 조용히 추측하는 대신 결과에 보고됩니다.
불필요한 파일 제거(선택)
Mac과 Windows PC 사이를 오간 ZIP에는 깨진 이름과 함께 __MACOSX 폴더와 .DS_Store 파일이 들어 있는 경우가 많으므로, ZIP 정리 도구가 제공하는 것과 같은 필터가 여기에도 있고 그 두 가지는 기본으로 켜져 있습니다. 그 밖에는 압축 파일을 건드리지 않으려면 체크를 해제하세요. 파일 이름 복구는 어느 쪽이든 실행됩니다.
바뀌지 않는 것
파일 내용은 바이트 단위로 복사됩니다. 압축 해제도 재압축도 없습니다. 폴더 구조와 타임스탬프가 보존되고, 암호로 보호된 항목은 암호 없이 검사할 수 없으므로 손대지 않고 그대로 복사됩니다. 다시 쓰이는 것은 이름뿐입니다.
자주 묻는 질문
ZIP이 어디론가 업로드되나요?
아니요. 압축 파일을 읽고 이름을 디코딩하고 ZIP을 다시 쓰는 작업은 WebAssembly를 통해 브라우저 안에서 이루어집니다. 파일도, 그 안의 목록도 기기를 떠나지 않습니다.
일본어 Windows PC에서 만든 ZIP도 복구되나요?
예, 가장 흔한 경우입니다. 일본어 Windows의 탐색기는 이름을 Shift_JIS(코드 페이지 932)로 저장하는데, macOS와 일본어가 아닌 Windows는 이를 깨진 글자로 표시합니다. 복구 기능이 이를 감지해 이름을 UTF-8로 다시 씁니다.
Mac에서 만든 ZIP이 Windows에서 깨져 보입니다. 도움이 되나요?
예. macOS는 UTF-8 이름을 기록하지만 UTF-8 플래그를 설정하지 않으므로 Windows가 자체 코드 페이지로 읽습니다. 압축 파일을 여기서 처리하면 플래그가 설정되어 그 뒤로는 Windows가 이름을 올바르게 표시합니다.
다른 도구가 이미 망가뜨린 이름도 복구할 수 있나요?
원래 바이트가 압축 파일에 아직 남아 있는 경우에만 가능합니다. ZIP을 잘못된 이름으로 풀었다가 다시 압축했다면, 깨진 글자가 이제 진짜 UTF-8로 저장되어 의도한 이름과 구별할 수 없습니다. 그것은 무엇으로도 되돌릴 수 없습니다.
안의 파일이 바뀌나요?
아니요. 모든 항목은 바이트 단위로 바뀌지 않고 복사됩니다. 다시 쓰이는 것은 이름뿐이고, 그 외에는 제거하도록 체크해 둔 불필요한 파일만 빠집니다.
ZIP이 어떤 코드 페이지를 쓰는지 모르면 어떻게 하나요?
드롭다운을 자동 감지로 두세요. 결과가 여전히 이상하게 보이면 ZIP을 만든 컴퓨터의 언어에 해당하는 항목을 선택하세요. 결과에는 몇 개의 이름이 어떤 코드 페이지로 다시 쓰였는지 표시됩니다.