홈 › 파일·데이터 변환

CSV 한글 깨짐 고치기

한글이 ‘ì´ë¦„’이나 ‘�̸�’처럼 보이면 인코딩이 맞지 않는 거예요. 원본을 올바르게 읽은 뒤 원하는 인코딩으로 다시 저장해요.

파일은 서버로 전송되지 않고 내 기기에서만 처리돼요
CSV·TXT 파일을 놓거나 눌러서 고르세요.csv · .txt · .tsv

CSV 인코딩 변환, 깨진 한글을 판단하는 기준

언제 쓰나요

홈택스·은행·쇼핑몰 관리자 화면에서 받은 CSV를 열었더니 한글이 외계어처럼 보일 때, 반대로 내가 만든 UTF-8 파일을 오래된 사내 프로그램에 올렸더니 거부당할 때 이 도구로 저장 방식만 바꿔요. 내용은 그대로 두고 한글을 숫자로 적는 규칙(인코딩)과 줄바꿈 방식만 다시 맞춰 저장해요.

사용 방법

CSV 파일 놓는 칸에 1번 표시가 붙은 화면

1단계파일 놓기

  1. ① CSV·TXT·TSV 파일을 놓아요. 파일 내용은 고치지 않고 바이트 그대로 읽어 들여요.
세 가지 인코딩 비교 상자에 2번 표시가 붙은 화면

2단계제대로 보이는 쪽 고르기

  1. ② 같은 파일을 UTF-8, EUC-KR, UTF-16 세 방식으로 읽은 앞 300자를 나란히 보여 줘요. 주황 테두리와 ‘추천’이 붙은 쪽이 기본으로 골라져 있고, 다른 상자를 누르면 원본 인코딩이 그쪽으로 바뀌어요.
원본·바꿀 인코딩·줄바꿈 선택에 3번, 안내 줄에 4번, 받기 버튼에 5번 표시가 붙은 화면

3단계바꿀 방식 정하고 받기

  1. ③ 원본이 UTF-8로 판정되면 바꿀 인코딩이 EUC-KR로, 그 밖이면 UTF-8(BOM)으로 미리 골라져 있어요.
  2. ④ 파일 크기와 줄 수가 나오고, EUC-KR로 바꿀 때 담을 수 없는 글자가 있으면 그 개수를 알려 줘요.
  3. ⑤ 받은 파일 이름 끝에 _UTF8BOM, _UTF8, _EUCKR가 붙어 원본과 섞이지 않아요.

추천을 고르는 방법

세 가지로 읽은 글마다 점수를 매겨 가장 높은 쪽을 추천해요. 완성형 한글 한 글자는 +1점, 읽지 못해 생긴 � 기호는 −5점, UTF-8을 잘못 읽을 때 자주 보이는 ì·ë·Ã 같은 글자는 −3점이에요. 한글이 많이 보이고 깨진 흔적이 적은 쪽이 이기는 셈이에요.

인코딩별 바이트 그림이름 두 글자는 UTF-8로 EC 9D B4 EB A6 84 여섯 바이트, EUC-KR로 C0 CC B8 A7 네 바이트로 저장돼요. UTF-8 바이트를 라틴 문자로 읽으면 ì´ë¦„처럼, EUC-KR 바이트를 UTF-8로 읽으면 깨진 기호로 보여요.‘이름’이 저장되는 두 가지 방법UTF-8EC9DB4EBA684이름다른 규칙으로 읽으면 → ì´ë¦„EUC-KRC0CCB8A7이름다른 규칙으로 읽으면 → �̸�
‘이름’ 두 글자가 UTF-8로는 6바이트, EUC-KR로는 4바이트로 저장되고, 서로 다른 규칙으로 읽으면 깨져 보여요.
저장 규칙‘이름’의 바이트다른 규칙으로 잘못 읽으면
UTF-8EC 9D B4 EB A6 84 (6바이트)ì´ë¦„ 같은 라틴 문자
EUC-KRC0 CC B8 A7 (4바이트)�̸� 같은 깨진 기호

같은 이유로 한글이 많은 파일은 UTF-8로 바꾸면 용량이 커지고 EUC-KR로 바꾸면 작아져요. 한글 한 글자가 UTF-8에서는 3바이트, EUC-KR에서는 2바이트이기 때문이에요.

안내 줄의 줄 수는 고른 원본 인코딩으로 읽은 글을 줄바꿈 기준으로 센 값이에요. 맨 끝에 빈 줄이 하나 있는 파일은 실제 데이터 줄보다 하나 많게 나올 수 있어요.

주의할 점

도움말어느 쪽이 맞는지 헷갈리면 상자 속에서 이름·주소처럼 한글이 들어간 칸을 찾아 보세요. 맞는 인코딩에서는 한글이 자연스럽게 읽히고, 틀린 쪽에서는 영문 기호나 �가 섞여 보여요.

더 궁금한 점

원본 파일 앞에 붙어 있던 BOM은 어떻게 되나요?

읽을 때 떼어 내고, 바꿀 인코딩이 UTF-8(BOM)일 때만 새로 붙여요. 그래서 BOM이 두 번 겹쳐 붙는 일은 없어요.

확장자도 바뀌나요?

원래 확장자를 그대로 써요. .txt로 올린 파일은 .txt로 받아요.

UTF-16 상자는 언제 맞나요?

일부 프로그램이 ‘유니코드 텍스트’로 내보낸 파일이 UTF-16이에요. 이런 파일을 UTF-8이나 EUC-KR로 읽으면 글자 사이에 빈칸이나 이상한 기호가 끼어 보이니, 그때 UTF-16 상자를 골라요.

줄바꿈 방식만 바꾸고 인코딩은 그대로 둘 수 있나요?

원본과 같은 인코딩을 바꿀 인코딩으로 고르고 줄바꿈만 CRLF나 LF로 정하면 돼요. UTF-8 원본이라면 BOM 여부까지 원래대로 맞춰 고르세요.

한글이 깨지는 이유

컴퓨터는 글자를 숫자(바이트)로 저장하는데, 한글을 숫자로 바꾸는 규칙(인코딩)이 두 가지가 널리 쓰여요. 국내 윈도우 프로그램이 오래 써 온 EUC-KR(CP949, ‘ANSI’)과 전 세계 표준인 UTF-8이에요. 저장할 때와 읽을 때 규칙이 다르면 ‘ì´ë¦„’(UTF-8을 다른 방식으로 읽음)이나 ‘�̸�’(EUC-KR을 UTF-8로 읽음)처럼 깨져요.

이 도구가 하는 일

  1. 파일을 세 가지 방식으로 읽어 나란히 보여 주고, 한글이 가장 자연스럽게 보이는 쪽을 추천해요. 맞는 쪽을 누르면 원본 인코딩이 정해져요.
  2. 원하는 인코딩으로 다시 저장해요. 엑셀에서 열 거라면 UTF-8(BOM), 옛 국내 프로그램에 올릴 거라면 EUC-KR을 고르세요.
  3. 줄바꿈 방식(윈도우 CRLF, 맥·리눅스 LF)도 맞출 수 있어요.

주의할 점

자주 묻는 질문

메모장으로 저장할 때 ‘ANSI’는 무엇인가요?

한국어 윈도우에서 ANSI는 CP949(EUC-KR 확장)를 뜻해요.

BOM이 뭐예요?

파일 맨 앞에 붙는 3바이트 표시예요. 엑셀은 이 표시가 있어야 UTF-8 CSV의 한글을 바로 인식해요. 반대로 일부 프로그램은 BOM 때문에 첫 머리글 이름이 깨지기도 해요.

엑셀 파일(xlsx)도 깨지나요?

xlsx는 내부적으로 UTF-8을 써서 인코딩 문제가 없어요. CSV·TXT 같은 텍스트 파일만 해당돼요.

함께 쓰면 좋은 도구