연락처 한글 깨짐 해결 가이드: UTF-8, CP949, QUOTED-PRINTABLE

한글이 "안녕"이나 "=ED=99=8D"로 보이면 당황스럽지만, 대부분 문자 인코딩의 문제이고 데이터는 멀쩡합니다. 원인을 구분하는 법을 정리했습니다.

문자 인코딩이란

컴퓨터는 글자를 숫자로 저장합니다. "가"라는 글자를 어떤 숫자(바이트)로 저장할지 정한 규칙이 문자 인코딩입니다. 같은 글자라도 인코딩에 따라 저장되는 바이트가 다르기 때문에, 저장할 때 쓴 인코딩과 열 때 해석하는 인코딩이 다르면 글자가 깨져 보입니다. 이때 파일 속 데이터가 망가진 것은 아니며, 올바른 인코딩으로 다시 읽으면 복구됩니다.

연락처에서 자주 마주치는 인코딩은 다음과 같습니다.

인코딩특징주로 보이는 곳
UTF-8전 세계 문자를 담는 국제 표준. 한글은 보통 글자당 3바이트현대 스마트폰, 웹, vCard 3.0·4.0
CP949(EUC-KR 계열)한국어 윈도우에서 오래 쓰인 인코딩. 한글은 글자당 2바이트예전 한국어 윈도우 프로그램, 메모장의 "ANSI" 저장, 일부 구형 휴대폰
UTF-8 BOMUTF-8 파일 맨 앞에 "이 파일은 UTF-8입니다"라는 표시를 붙인 것엑셀에서 열 CSV
QUOTED-PRINTABLE인코딩이 아니라 바이트를 =XX 16진수 문자로 풀어 쓰는 표기법vCard 2.1, 구형 안드로이드

증상별 원인 진단표

이렇게 보인다면의심할 원인
=ED=99=8D=EA=B8=B8=EB=8F=99QUOTED-PRINTABLE 표기. 정상이며 해독하면 "홍길동"이 됨
안녕, í™ê¸¸ë™ 처럼 라틴 문자가 섞인 이상한 글자UTF-8 파일을 CP949·Windows-1252 등으로 잘못 열었음
占쏙옙, ������, ?????CP949 파일을 UTF-8로 열었거나, 저장 단계에서 글자가 이미 손실됨
이름만 깨지고 영문·숫자는 정상인코딩 불일치 (영문·숫자는 거의 모든 인코딩에서 같은 바이트이기 때문)

마지막 줄이 중요한 단서입니다. 영문과 숫자는 정상인데 한글만 깨진다면 거의 확실히 인코딩 문제입니다.

원인 1: QUOTED-PRINTABLE (vCard 2.1)

오래된 안드로이드 기기나 피처폰에서 내보낸 .vcf 파일은 이런 모양일 때가 많습니다.

BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=ED=99=8D;=EA=B8=B8=EB=8F=99;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=ED=99=8D=EA=B8=B8=EB=8F=99
TEL;CELL:010-1234-5678
END:VCARD

이 파일은 깨진 것이 아닙니다. ENCODING=QUOTED-PRINTABLE은 "이 값의 바이트를 =XX 형태로 풀어 썼다"는 뜻이고, CHARSET=UTF-8은 그 바이트를 UTF-8로 읽으라는 뜻입니다. 위의 =ED=99=8D는 UTF-8로 "홍"에 해당합니다. 가져오기 쪽이 이 규칙을 지원하면 자동으로 해독되지만, 지원하지 않는 프로그램은 그대로 보여 줍니다. 또 긴 값이 줄 끝의 =로 이어지는 "소프트 줄바꿈"까지 있어 직접 해독하기는 번거롭습니다. vcf2what은 이 표기와 CHARSET 지정을 읽어 원래 글자로 복원합니다.

원인 2: UTF-8과 CP949의 불일치

한국어 윈도우의 메모장·엑셀 같은 프로그램은 과거에 "ANSI"라는 이름으로 CP949를 기본 사용했습니다. 요즘 버전은 UTF-8 기본인 경우도 많지만, 프로그램과 버전에 따라 다릅니다.

원인 3: 엑셀이 BOM 없는 UTF-8 CSV를 못 알아보는 경우

엑셀 더블클릭으로 CSV를 열면, 파일 맨 앞에 UTF-8임을 알리는 BOM(바이트 순서 표시, 3바이트)이 없을 때 엑셀이 ANSI(CP949)로 가정해 한글이 깨지는 경우가 많습니다. 반대로 BOM이 있으면 UTF-8로 인식해 한글이 정상으로 보입니다. vcf2what이 만드는 CSV 파일은 이 때문에 맨 앞에 BOM을 붙여 둡니다. 다른 프로그램이 BOM 없이 만든 CSV를 엑셀에서 열어 한글이 깨졌다면 다음 방법을 쓰세요.

  1. 엑셀의 데이터 → 텍스트/CSV에서 메뉴로 파일을 불러옵니다.
  2. 미리보기 상단 "파일 원본"에서 65001: Unicode (UTF-8)을 선택합니다.
  3. 한글이 정상으로 보이면 로드를 누릅니다.

해결 방법: 상황별 처방

메모장·텍스트 편집기로 열었을 때 깨지는 경우

편집기의 인코딩 다시 열기 기능으로 UTF-8과 CP949(ANSI)를 번갈아 선택해 보세요. 한글이 정상으로 보이는 쪽이 그 파일의 실제 인코딩입니다. VS Code 같은 편집기는 우측 하단 인코딩 표시를 눌러 "인코딩하여 다시 열기"를 제공합니다.

인코딩을 알아낸 뒤 UTF-8로 다시 저장하는 경우

올바른 인코딩으로 열어 한글이 정상으로 보이는 상태에서 "다른 이름으로 저장 → 인코딩: UTF-8"로 저장하면 이후 대부분의 프로그램에서 문제없이 읽힙니다. 이 과정에서 반드시 한글이 정상으로 보이는 상태에서 저장해야 합니다. 깨진 상태에서 저장하면 복구할 수 없는 손실이 됩니다.

vcf2what으로 변환하는 경우

vcf2what은 UTF-8 .vcf와 QUOTED-PRINTABLE 표기를 읽고 변환합니다. 업로드한 파일의 한글이 미리보기에서 정상으로 보이면 해독은 성공한 것이고, 이후 HTML·XLSX·JSON·CSV로 변환해도 한글은 유지됩니다. 만약 미리보기에서도 깨져 있다면 원본 파일이 UTF-8이 아닌 인코딩(예: CP949)으로 저장되었을 가능성이 큽니다. 이런 파일은 먼저 편집기에서 UTF-8로 다시 저장한 후 올리세요.

이모지·특수문자가 사라지는 경우

이름에 이모지(😀)나 특수 기호를 넣어 둔 연락처는 인코딩 변환 과정에서 손실되기 쉽습니다. CP949는 이모지를 표현할 수 없기 때문에 ANSI로 저장하면 물음표로 바뀝니다. 이런 문자가 중요하다면 처음부터 UTF-8을 유지하는 경로를 고르고, 중간에 CP949를 거치는 도구는 피하세요.

예방 수칙

직접 변환해 보세요
이 가이드에서 설명한 내용은 vcf2what에서 바로 확인할 수 있습니다. .vcf 파일을 올리면 브라우저 안에서만 처리되어 HTML·XLSX·CSV·JSON·Google CSV·Outlook CSV로 바뀝니다. 변환기 열기 →

← 전체 가이드 목록  ·  vcf2what 변환기