[태그:] CSV 한글깨짐

  • CSV 파일 깨질 때 해결 방법 – 한글 깨짐·인코딩·열 나뉨 오류 복구

    CSV 파일 깨질 때 해결 방법 – 한글 깨짐·인코딩·열 나뉨 오류 복구

    Fix CSV file text broken issue including Korean character encoding errors and column separation problems in Excel

    CSV 파일은 가볍고 편해서 자주 쓰이지만, 막상 열어보면 한글이 깨지거나 열이 전부 한 칸에 몰려서 당황하는 경우가 많다. 특히 쇼핑몰 주문 내역, 은행 거래 내역, 광고 리포트, 고객 목록처럼 급하게 확인해야 하는 파일일수록 “왜 이 파일만 이상하지?”라는 생각부터 들게 된다.

    문제는 CSV가 엑셀 파일처럼 모든 서식과 언어 정보를 완전히 품고 있는 형식이 아니라는 점이다. 실제로는 열기 방식, 인코딩, 쉼표·세미콜론 같은 구분자, 다시 저장하는 과정에서 문제가 갈리는 경우가 많다.
    그래서 이 글은 “파일이 망가졌나?”부터 걱정하기보다, 원본은 멀쩡한데 열기 방식만 잘못된 건지, 인코딩이 다른 건지, 구분자 문제인지를 먼저 나누는 순서로 정리했다.

    급하면 아래 3가지만 먼저 확인해도 방향이 빨리 잡힌다.


    지금 바로 할 3가지

    1. CSV를 더블클릭으로 바로 열지 말고, 엑셀에서 가져오기 방식으로 연다.
    2. 메모장으로 먼저 열어 원본 한글이 정상인지 확인한다.
    3. 한글이 깨지면 UTF-8인지 ANSI/CP949 계열인지부터 의심한다.

    30초 진단표

    증상가장 가능성 높은 원인먼저 볼 것
    한글이 이상한 문자로 보임인코딩 불일치2번으로 이동
    열이 전부 A열 한 칸에 몰림구분자 인식 실패4번으로 이동
    처음엔 정상인데 저장 후 다시 깨짐다시 저장 방식 문제3번으로 이동
    엑셀에선 깨지는데 메모장에선 정상엑셀 열기 방식 문제1번으로 이동
    특정 시스템에서 내려받은 CSV만 깨짐해당 서비스의 인코딩 방식 차이2번으로 이동
    숫자 0이 사라지거나 날짜가 바뀜엑셀 자동 형식 변환5번으로 이동

    메모장에서부터 깨지면 원본 인코딩 문제일 가능성이 크고, 메모장에선 정상인데 엑셀에서만 깨지면 열기 방식 문제일 가능성이 크다.


    1️⃣ 먼저 원본이 깨진 건지, 엑셀에서만 이상한 건지 구분한다

    Check whether a CSV file is already corrupted or only appears broken when opened in Excel due to encoding issues

    가장 먼저 해야 할 일은 CSV 파일 자체가 망가진 건지, 아니면 엑셀에서 여는 방식 때문에 이상하게 보이는 건지를 구분하는 것이다.
    이걸 먼저 나누지 않으면 인코딩만 바꾸다가 시간을 쓰거나, 반대로 원본 파일을 다시 요청해야 하는데 엑셀 설정만 계속 만지게 된다.

    가장 빠른 확인 순서

    1. CSV 파일을 메모장으로 연다
    2. 한글이 정상으로 보이는지 확인한다
    3. 줄바꿈과 쉼표가 정상으로 보이는지 확인한다
    4. 그다음 엑셀에서 다시 열어 결과를 비교한다

    여기서 판단하는 기준

    • 메모장에서도 한글이 깨짐
      → 원본 인코딩 자체가 맞지 않거나, 파일 생성 단계부터 문제일 수 있다.
    • 메모장에선 정상인데 엑셀에서만 깨짐
      → 엑셀이 잘못된 인코딩으로 읽고 있을 가능성이 크다.
    • 한글은 정상인데 열이 한 칸에 몰림
      → 인코딩보다 구분자 문제가 더 유력하다.

    이 단계가 중요한 이유

    사용자는 보통 “파일이 깨졌다”고 느끼지만, 실제로는 엑셀이 자동으로 잘못 읽는 경우가 훨씬 많다.
    그래서 원본을 한 번 텍스트로 확인해두면, 문제 범위를 크게 줄일 수 있다.

    CSV가 깨져 보이면 먼저 메모장으로 열어 원본부터 확인하자. 파일 문제인지 엑셀 문제인지 여기서 거의 갈린다.


    2️⃣ 한글이 깨지면: UTF-8인지 ANSI/CP949인지부터 본다

    Fix Korean text broken in CSV by checking encoding type such as UTF-8 or ANSI CP949 before opening in Excel

    CSV 한글 깨짐의 핵심은 대부분 인코딩 불일치다.
    어떤 시스템은 UTF-8로 저장하고, 어떤 시스템은 ANSI나 CP949 계열로 저장한다. 그런데 엑셀이 파일을 열 때 이 인코딩을 다르게 해석하면 “가나다” 같은 이상한 글자가 보이게 된다.

    이런 경우를 의심

    • 쇼핑몰, 광고 플랫폼, 은행, ERP에서 받은 CSV
    • 해외 서비스에서 받은 CSV
    • 맥/윈도우 환경을 오가며 받은 CSV
    • 같은 파일인데 어떤 PC에서는 정상, 어떤 PC에서는 깨짐

    가장 빠른 해결 순서

    1. CSV를 더블클릭하지 말고 엑셀 실행 후 빈 통합문서를 연다
    2. 데이터 탭에서 텍스트/CSV 가져오기 또는 비슷한 가져오기 메뉴로 연다
    3. 미리보기에서 파일 원본/인코딩 옵션을 바꿔본다
    4. UTF-8, 949/한국어, ANSI 계열을 비교해서 한글이 정상으로 보이는 쪽을 선택한다

    여기서 해결되면

    문제는 파일 손상이 아니라 엑셀이 파일을 읽는 방식이었던 가능성이 높다.
    즉, 원본 CSV는 멀쩡한데 자동 해석만 틀렸던 셈이다.

    자주 생기는 오해

    한글이 깨졌다고 해서 무조건 파일을 다시 받아야 하는 건 아니다.
    특히 메모장에선 정상인데 엑셀에서만 깨진다면, 대부분은 가져오기 인코딩 선택으로 해결되는 경우가 많다.

    CSV 한글 깨짐은 원본보다 인코딩 해석 문제인 경우가 많다. 더블클릭 대신 가져오기 방식으로 여는 게 핵심이다.


    3️⃣ 처음엔 정상인데 저장 후 다시 깨지면: 저장 형식을 잘못 고른 것이다

    CSV file becomes corrupted after saving again due to wrong encoding or save format in Excel

    이 구간도 정말 많이 틀린다.
    가져오기까지는 잘해서 한글이 정상으로 보였는데, 수정 후 저장하자마자 다시 깨지거나 다른 사람에게 보냈더니 깨진다면 저장 단계에서 인코딩이 바뀐 것일 수 있다.

    이런 경우를 의심

    • 열었을 때는 정상인데 다시 저장 후 깨짐
    • 내 PC에선 정상인데 다른 사람 PC에서 깨짐
    • CSV로 다시 저장했더니 한글이 망가짐
    • UTF-8로 받아 놓고 ANSI 방식으로 다시 저장함

    점검 순서

    1. 수정 전 원본 CSV 사본을 따로 보관한다
    2. 저장할 때 CSV 형식을 다시 확인한다
    3. 가능하면 CSV UTF-8 같은 형식이 있으면 우선 검토한다
    4. 저장 후 메모장으로 다시 열어 한글이 정상인지 먼저 확인한다

    여기서 해결되면

    문제는 열기 단계가 아니라 내가 다시 저장하면서 인코딩을 바꿔버린 것이었을 가능성이 높다.
    즉, 파일이 원래 깨진 게 아니라 저장 방식이 잘못된 것이다.

    꼭 기억할 점

    CSV는 엑셀처럼 완전한 문서 형식이 아니어서, 저장할 때 수식, 시트 여러 개, 서식, 인코딩 같은 부분이 달라질 수 있다.
    그래서 수정 작업 전엔 원본 백업을 먼저 남기는 습관이 중요하다.


    중간 FAQ

    Q. CSV를 엑셀에서 정상으로 열었는데 저장하고 나서만 한글이 깨지는 이유는 뭔가요?

    가장 흔한 이유는 저장할 때 인코딩이 바뀌었기 때문이다. 처음 열 때는 가져오기 과정에서 UTF-8로 잘 읽었지만, 다시 저장하면서 다른 CSV 형식이나 기본값으로 저장되면 한글이 깨질 수 있다. 이럴 땐 원본을 남겨두고 저장 후 메모장에서 다시 확인하는 게 가장 빠르다.


    4️⃣ 열이 한 칸에 몰리면: 인코딩보다 구분자를 먼저 본다

    Fix CSV columns appearing in one cell by checking delimiter settings such as comma or semicolon during import

    한글은 멀쩡한데 데이터가 전부 A열에 몰리거나, 열이 이상하게 갈라지면 이건 보통 구분자 문제다.
    CSV는 이름 그대로 쉼표로 나누는 경우가 많지만, 시스템에 따라 세미콜론이나 탭처럼 다른 구분자를 쓰는 경우도 있다.

    이런 경우를 의심

    • A열 한 칸에 모든 내용이 몰림
    • 쉼표가 보이는데 열이 나뉘지 않음
    • 세미콜론으로 분리된 파일인데 쉼표로 읽음
    • 국가/지역 설정 때문에 구분자 인식이 다름

    가장 빠른 해결 순서

    1. 메모장으로 열어서 값 사이가 쉼표인지 세미콜론인지 본다
    2. 엑셀 데이터 가져오기 단계에서 구분자 선택을 바꿔본다
    3. 쉼표, 세미콜론, 탭 중 데이터가 가장 자연스럽게 나뉘는 값을 선택한다
    4. 이미 한 칸에 몰린 상태면 텍스트 나누기 기능으로 다시 분리할 수도 있다

    여기서 해결되면

    문제는 한글 깨짐이 아니라 필드 경계 인식 실패였을 가능성이 높다.
    즉, 파일은 정상인데 열을 나누는 규칙을 엑셀이 잘못 읽고 있던 셈이다.

    열이 한 칸에 몰리면 인코딩부터 만지지 말고, 구분자가 쉼표인지 세미콜론인지 먼저 보자.


    5️⃣ 숫자 0이 사라지거나 날짜가 바뀌면: 엑셀 자동 변환을 의심한다

    Fix CSV numbers losing leading zeros or dates changing automatically due to Excel auto format conversion

    이건 “깨짐”처럼 느껴지지 않아서 놓치기 쉽지만, 실무에선 꽤 치명적이다.
    CSV를 열었더니 00123123으로 바뀌거나, 2024-03-01 같은 값이 엑셀 날짜 형식으로 멋대로 바뀌면 데이터가 달라진 것이다.

    이런 경우를 의심

    • 앞자리 0이 있는 고객번호, 우편번호, 상품코드
    • 날짜처럼 보이는 코드
    • 긴 숫자가 지수 표기처럼 바뀜
    • 전화번호, 계좌번호, 바코드 관련 값

    점검 순서

    1. 더블클릭으로 바로 열지 않는다
    2. 데이터 가져오기 단계에서 열 형식을 확인한다
    3. 코드나 번호 열은 텍스트 형식으로 지정한다
    4. 불러온 뒤 값이 원본과 같은지 비교한다

    여기서 해결되면

    문제는 인코딩이 아니라 엑셀이 데이터를 너무 적극적으로 해석한 것이었을 가능성이 높다.
    즉, 파일이 깨진 게 아니라 엑셀이 보기 편하게 바꾸는 과정에서 원본 값이 바뀐 것이다.

    특히 중요한 이유

    실무에서는 한글 깨짐보다 이 문제가 더 위험할 때도 있다.
    왜냐하면 겉보기에 멀쩡해 보여서, 사용자가 데이터가 바뀐 걸 늦게 알아차리는 경우가 많기 때문이다.


    6️⃣ 끝까지 안 되면: 구글 스프레드시트나 다른 편집기에서 중간 확인한다

    Open a CSV file in Google Sheets or another editor to verify encoding and column structure when Excel shows corrupted data

    여기까지 했는데도 계속 애매하면, 이제는 엑셀만 고집하지 말고 중간 확인용 도구를 쓰는 게 빠를 수 있다. 메모장, 구글 스프레드시트, 다른 CSV 편집 도구로 열어보면 원본 구조를 더 쉽게 확인할 수 있다.

    이런 경우에 특히 유효하다

    • 엑셀에선 계속 깨지는데 원인 구분이 안 됨
    • 해외 서비스 CSV라 인코딩이 낯섦
    • 값은 많은데 어느 열이 잘못됐는지 애매함
    • 엑셀 저장 후 다시 깨지는 패턴이 반복됨

    점검 순서

    1. 메모장으로 원본 확인
    2. 구글 스프레드시트나 다른 도구로 업로드/열기
    3. 값이 정상으로 보이는지 비교
    4. 원본이 정상이라면 엑셀 열기 방식 문제로 좁힌다
    5. 원본도 이상하면 파일 생성 단계 문제를 의심한다

    여기서 해결되면

    문제는 CSV 자체가 아니라 엑셀 환경 하나에만 묶여 있던 진단 방식이었을 가능성이 높다. 즉, 도구를 하나 바꾸는 것만으로 원인이 훨씬 잘 보일 수 있다.


    요약표

    상황1순위2순위3순위
    한글이 깨짐메모장 확인인코딩 선택가져오기 방식
    열이 한 칸에 몰림구분자 확인데이터 가져오기텍스트 나누기
    저장 후 다시 깨짐원본 백업저장 형식 확인메모장 재확인
    숫자·날짜가 바뀜자동 형식 변환 의심텍스트 형식 지정다시 가져오기
    끝까지 애매함다른 도구로 확인원본 구조 비교파일 생성 단계 점검

    FAQ

    Q1. CSV는 왜 엑셀처럼 그냥 열면 안 되는 경우가 많나요?

    CSV는 표처럼 보여도 실제로는 단순한 텍스트 데이터라서, 어떤 인코딩과 어떤 구분자를 썼는지까지 자동으로 완벽하게 맞춰주지 못하는 경우가 많다. 그래서 엑셀이 자동으로 잘못 해석하면 한글 깨짐이나 열 밀림이 생긴다.

    Q2. UTF-8로 저장하면 무조건 안 깨지나요?

    대체로 유리하지만, 상대방이나 사용하는 시스템이 UTF-8을 제대로 읽지 못하면 여전히 문제가 생길 수 있다. 그래서 중요한 건 “가장 좋은 인코딩 하나”보다 받는 쪽 환경과 여는 방식까지 같이 맞추는 것이다.

    Q3. CSV를 그냥 엑셀 파일(.xlsx)로 바꾸면 해결되나요?

    일부 상황에선 편할 수 있다. 다만 그건 CSV 문제를 없앤다기보다, 엑셀 형식으로 다시 저장해서 구조를 고정하는 방식에 가깝다. 원본을 다른 시스템과 주고받아야 한다면 CSV 자체를 제대로 여는 방법을 먼저 알아두는 게 좋다.


    재발 방지

    CSV 문제를 줄이려면 더블클릭으로 바로 열지 않고 가져오기 방식으로 여는 습관이 가장 중요하다.
    또 수정 작업 전엔 원본 사본을 남기고, 저장 후엔 메모장으로 한 번만 다시 확인해도 인코딩 문제를 빨리 잡을 수 있다.
    고객번호, 전화번호, 우편번호처럼 원본 값 유지가 중요한 열은 처음부터 텍스트 형식으로 가져오는 편이 안전하다.


    결론

    CSV 깨짐 문제는 겉으로는 비슷해 보여도 실제로는 인코딩, 구분자, 저장 방식, 엑셀 자동 변환, 열기 방식으로 갈리는 경우가 많다.
    그래서 무작정 다른 프로그램을 찾기보다, 메모장에서 원본이 정상인지, 엑셀에서 무엇을 잘못 해석하는지 먼저 나누는 것이 가장 중요하다.

    핵심만 다시 정리하면:

    1. 메모장으로 원본 먼저 확인
    2. 한글 깨짐이면 인코딩부터
    3. 열이 몰리면 구분자부터
    4. 저장 후 깨지면 저장 형식 점검
    5. 숫자·날짜가 바뀌면 자동 변환 의심
    6. 애매하면 다른 도구로 구조 확인

    다음에 읽을 글(추천 3개)

    1. 엑셀 파일 안 열릴 때 해결 순서 – 손상·읽기 전용·응답 없음 복구
    2. 엑셀 저장 안 될 때 해결 순서 – 읽기 전용·동기화 충돌·저장 실패 복구
    3. OneDrive 동기화 안 될 때 해결 방법 – 업로드/다운로드 멈춤·빨간 X·0KB까지 10분 복구 가이드