EllyTools

이미지 도구

계산기

텍스트 도구

색상 도구

파일 도구

유틸리티

자음모음 합치기 (깨진 글자 수정)

한글 자모 깨짐, 맥 파일명 깨짐, 유니코드 텍스트 오류 수정

글자 수: 0

파일명 수정기

파일을 드래그 앤 드롭하여 파일명을 수정하세요

또는 클릭하여 파일 선택

왜 이런 현상이 발생하나요?

운영체제마다 다른 유니코드 정규화 형식을 사용합니다. macOS는 NFD(분해형)를, Windows와 대부분의 웹 서비스는 NFC(합성형)를 사용합니다. 이 불일치로 인해 한글, 일본어 탁점, 아랍어, 태국어 등의 텍스트가 깨져 보입니다.

●

macOS NFD vs Windows NFC — 한글 파일명이 자음/모음으로 분리되어 보임

●

iOS 파일 전송 및 이메일 첨부 파일이 종종 NFD 인코딩을 사용

●

서로 다른 앱 간에 텍스트를 복사/붙여넣기하면 인코딩 불일치가 발생할 수 있음

예시

깨진 상태 (NFD)

한글

수정된 상태 (NFC)

한글

◈ 사용 방법

1

깨진 텍스트나 깨진 파일명을 입력창에 붙여넣으세요

2

언어 모드를 선택하거나 자동 감지를 사용하세요

3

수정 버튼을 클릭하여 유니코드 텍스트를 정규화하세요

4

수정된 텍스트를 복사하거나 파일로 다운로드하세요

❓ 자주 묻는 질문

관련 도구

◉ 누구를 위한 도구인가요?

  • ✓맥에서 전송된 깨진 한글 파일명을 수정해야 하는 사용자
  • ✓유니코드 정규화 문제를 다루는 개발자
  • ✓이메일이나 파일 전송에서 깨진 글자를 받는 모든 사용자
  • ✓다국어 텍스트 데이터를 처리하는 국제 팀

유니코드 텍스트 정리 — 깨진 글자와 보이지 않는 글자

글자가 깨져 보이는 데는 몇 가지 정해진 이유가 있습니다. 인코딩을 잘못 읽었거나, 같은 글자가 다른 방식으로 저장돼 있거나, 눈에 안 보이는 글자가 섞여 있거나. 원인마다 고치는 방법이 달라서, 먼저 어느 경우인지 알아야 합니다.

이 도구가 다루는 문제는 셋입니다. 첫째, 인코딩을 잘못 읽어 '안녕하세요' 가 'ìëíì¸ì' 처럼 나오는 경우. 둘째, 화면에는 똑같이 보이지만 컴퓨터에게는 다른 값인 경우. 셋째, 폭이 없거나 특이한 공백이 섞여 들어간 경우.

셋 다 눈으로는 원인을 알 수 없습니다. 그래서 붙여넣으면 무엇을 어떻게 바꿨는지 함께 보여 줍니다.

'ìëíì¸ì' 는 되살릴 수 있습니다

한글은 UTF-8 에서 한 글자가 세 바이트입니다. 그 바이트들을 한 바이트씩 서유럽 문자로 읽어 버리면 알파벳과 기호가 뒤섞인 문자열이 나옵니다. 이걸 모지바케라고 부릅니다.

글자가 지워진 것이 아니라 잘못 읽힌 것뿐이라, 바이트를 되돌려 다시 읽으면 원래 글자가 나옵니다. 엑셀에서 연 CSV, 압축 파일 안의 파일 이름, 데이터베이스에서 뽑아낸 자료가 대부분 이 형태입니다.

다만 아무 글이나 되돌리면 안 됩니다. café 나 Grüße 는 멀쩡한 글인데 억지로 되돌리면 망가집니다. 이 도구는 되돌린 결과에 한자·한글·가나가 새로 나타날 때만 적용합니다. 그렇지 않으면 원래 글이 맞다고 보고 건드리지 않습니다.

실제로 되살아나는 예

깨진 상태복구
ìëíì¸ì안녕하세요
ìì¸ ë§ì§서울 맛집
ããã«ã¡ã¯こんにちは
café그대로 (멀쩡한 글)
Grüße그대로 (멀쩡한 글)

같아 보이는데 다른 글자

맥에서 입력한 '안녕' 은 여섯 조각으로, 윈도우에서 입력한 '안녕' 은 두 조각으로 저장됩니다. 맥이 한글을 자음과 모음으로 풀어서 저장하는 방식(NFD)을 쓰기 때문입니다. 화면에는 똑같이 보이는데 검색해도 안 걸리고, 파일 이름을 비교하면 다른 파일로 잡힙니다.

자음 하나를 따로 쓸 때도 두 가지가 있습니다. 키보드로 친 ㄱ(U+3131)과 글자를 조립할 때 쓰는 ᄀ(U+1100)은 서로 다른 글자입니다. 앞엣것은 그 자체로 하나의 기호이고, 뒤엣것은 받침이나 초성으로 붙는 부품입니다.

이 도구는 이런 것들을 하나의 표준 형태(NFC)로 모아 붙입니다. 그러면 어느 컴퓨터에서 온 글이든 같은 글이 같은 값이 됩니다.

보이지 않는 글자

웹에서 복사한 글에는 눈에 안 보이는 글자가 섞여 들어옵니다. 폭이 아예 없는 공백(U+200B), 줄바꿈을 막는 공백(U+00A0), 한자 문화권에서 쓰는 전각 공백(U+3000) 같은 것들입니다.

이것들은 화면에서 그냥 공백처럼 보이거나 아예 안 보이는데, 검색에는 걸립니다. 문장을 그대로 복사해서 검색했는데 아무것도 안 나오는 이유가 대개 이것입니다. 코드에 들어가면 오류의 원인이 되고, 표에 들어가면 숫자가 문자로 취급됩니다.

이럴 때 씁니다

  • •엑셀에서 CSV 를 열었더니 한글이 전부 깨져 있을 때
  • •압축을 풀었더니 파일 이름이 알아볼 수 없는 문자열일 때
  • •맥에서 받은 파일 이름이 검색에 안 걸릴 때
  • •웹에서 복사한 문장이 검색되지 않을 때
  • •붙여넣은 숫자가 계산에서 문자로 취급될 때

자주 묻는 질문

복구가 안 되는 경우도 있나요?

있습니다. 잘못 읽는 과정에서 일부 바이트가 물음표나 대체 문자로 바뀌어 저장됐다면 그 정보는 사라진 것이라 되돌릴 수 없습니다. 원본을 다시 받는 수밖에 없습니다.

왜 멀쩡한 글자까지 바꾸지 않나요?

바꾸면 안 되기 때문입니다. 독일어와 프랑스어 텍스트는 모지바케와 비슷하게 생겼지만 멀쩡한 글입니다. 되돌린 결과에 동아시아 글자가 새로 나타날 때만 적용하는 것이 그 구분선입니다.

NFC 로 바꾸면 글자가 달라지나요?

보이는 글자는 그대로입니다. 저장 방식만 하나로 모읍니다. 다만 파일 이름을 바꿀 때는 원본 시스템이 NFD 를 쓴다면 그쪽에서 다시 풀릴 수 있습니다.

붙여넣은 글이 저장되나요?

아니요. 전부 브라우저 안에서 처리합니다.