1. 핵심 개념: 인코딩 오해
한글이 깨지는 원인은 대부분 하나입니다. 어떤 프로그램이 바이트를 A 인코딩으로 저장했는데, 그 바이트를 다른 프로그램이 B 인코딩이라고 믿고 해석한 것입니다. 한글은 1글자에 2–3바이트를 쓰므로, 1바이트 인코딩(Latin-1, Windows-1252) 으로 해석되면 한 글자가 두세 개의 서양식 기호로 보입니다.
2. 주요 인코딩
- EUC-KR — 1987년 제정. 완성형 한글 2,350자. 구형 시스템, 초기 웹 페이지, 한글 Windows 기본.
- CP949 (Code Page 949) — Microsoft 가 EUC-KR 을 확장한 것. KS X 1001 외의 조합형 글자 약 8,822개 추가. 한국어 Windows, 오래된 HWP·엑셀 파일 내부 문자열에 여전히 남아 있습니다. 실무에서는 EUC-KR 과 거의 동의어로 취급되지만 CP949 전용 영역의 한글은 순수 EUC-KR 디코더로는 깨집니다.
- UTF-8 — 유니코드의 가변 바이트 인코딩. 현대 웹, macOS/Linux, 최신 Windows 10 이후의 기본값. 한글은 3바이트를 차지합니다.
- ISO-8859-1 / Latin-1 / Windows-1252 — 1바이트 서양 인코딩. 한국어를 저장할 수 없지만 "바이트를 그대로 들고 다니는 pass-through" 역할로 깨짐 체인에 자주 끼어듭니다.
3. 대표 깨짐 패턴
¾È³çÇϼ¼¿ä— "안녕하세요" 의 EUC-KR 바이트를 Latin-1 로 읽었을 때. ZIP 파일명에서 가장 흔함.안녕하세요— "안녕하세요" 의 UTF-8 바이트(EC 95 88…)를 Latin-1 로 읽었을 때. DB 덤프·이메일 헤더에서 흔함.%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94— URL 퍼센트 인코딩. 서버 로그나 Referer 에 그대로 남는다.ㅇㅏㄴㄴㅕㅇ— 초·중·종성 자모가 결합되지 않고 분리된 NFD 형태. iOS 사파리가 서버로 파일명을 전송할 때 발생.�����— U+FFFD 치환 문자. 이미 바이트가 손실되어 원본 복구 불가능한 경우.
4. 왜 이 도구는 "5개 후보" 를 보여주는가
깨짐 체인이 2단계(A→B→C) 인 경우가 많고, 같은 원본이 여러 조합으로 동일하게 보일 수 있습니다. 자동 감지만으로 1개를 확정하면 종종 오답이 1위로 올라옵니다. 이 도구는 7–8가지 조합을 모두 시도하고, 결과를 "한글 음절 비율 + ASCII 정상성 − U+FFFD 벌점 − Latin 확장 영역 벌점" 점수로 정렬해 상위 5개를 노출합니다. 2위 후보가 더 맞는 경우가 실제로 있습니다.
5. ZIP 파일명 복구
한국어 Windows 가 만든 ZIP 은 내부 파일명을 CP949 로 저장합니다. macOS 나 Linux 의 unzip 은 기본적으로 UTF-8 로 해석하므로 파일명이 전부 ¾È³ç 형태로 깨집니다. 이때는 파일명을 이 도구에 붙여넣어 "EUC-KR → Latin-1" 후보를 선택하면 복원됩니다. 대량 복구는 unar, 7z, 또는 파생 툴 ZIP 파일명 일괄 복구기 (예정) 사용을 권장합니다.
6. DB 덤프·CSV
MySQL 의 default charset 이 latin1 이던 시절 저장된 한글은 UTF-8 클라이언트로 SELECT 하면 mojibake 가 나옵니다.mysqldump 결과물에서 한글이 안녕 로 보인다면 UTF-8 → Latin-1 패턴이며, 이 도구의 추천 후보 1번이 바로 그것을 풀어줍니다. CSV 는 엑셀 한국어 버전이 CP949 로 저장하는 경우가 많아 UTF-8 에디터에서 열면 역시 깨집니다.
7. 이메일 제목(= MIME encoded-word)
=?UTF-8?B?...?= 나 =?EUC-KR?B?...?= 형식(B64 encoded-word) 이면 RFC 2047 디코더가 필요합니다. Gmail·카카오메일이 이 처리를 잘못하면 제목이 깨집니다. 원본 Base64 문자열이 있다면 디코딩 후 이 도구에 넣으세요.
8. 복구 불가능한 경우
- U+FFFD 가 이미 박혀 있다 — 중간에 손실된 바이트는 되돌릴 수 없습니다.
- 문자열이 너무 짧다 — 2–3글자만 깨진 경우 여러 조합이 동률이 되어 1위 확정이 어렵습니다. 가능하면 전후 맥락을 포함해 더 긴 조각을 붙여넣으세요.
- 스캔된 이미지·PDF — 이 도구는 바이트 레벨 복구만 수행합니다. OCR 인식 오류는 별도의 한글 LM 교정 도구가 필요합니다.