CSV가 한글 깨짐 없이 열리는데도 주소가 든 행부터 열이 옆으로 밀리거나, 메모가 든 뒤부터 새 행이 생긴다면 인코딩 문제가 아니라 CSV의 필드 경계가 깨진 문제일 가능성이 큽니다. 쉼표·줄바꿈·큰따옴표가 값에 들어갈 때는 그 값 전체를 큰따옴표로 감싸고, 값 안의 큰따옴표는 두 번 써야 합니다. 원본을 복사한 뒤 이 규칙을 확인하고, Excel 가져오기 미리보기에서 모든 레코드가 헤더와 같은 수의 열로 보이는지 확인하세요.
인코딩 문제와 구조 문제는 다릅니다
글자가 깨지면 문자 인코딩을 의심할 수 있습니다. 반면 한글은 읽히는데 특정 주소 뒤부터 값이 다음 열로 가거나, 긴 메모가 다음 행으로 갈라지면 구분자와 인용 부호를 먼저 봐야 합니다. RFC 4180의 공통 형식은 한 레코드가 같은 필드 수를 가지며, 쉼표·줄바꿈·큰따옴표를 포함한 필드는 큰따옴표로 감싸는 방식을 설명합니다. 다만 이 문서는 모든 프로그램의 설정을 강제하지 않으므로, 수신 시스템이 별도 규칙을 요구한다면 그 규칙도 확인해야 합니다.

세 가지 값으로 깨진 위치 찾기
아래 예제는 헤더를 포함해 늘 세 열(이름, 주소, 메모)이어야 합니다. 코드 블록의 줄바꿈은 파일에 실제로 들어가는 문자입니다.
주소 안에 쉼표가 있을 때
정상 파일에서는 주소 전체를 큰따옴표로 감쌉니다.
이름,주소,메모
민지,"서울시 중구, 세종대로 1",방문 예정
다음처럼 따옴표가 없으면 쉼표 뒤의 ‘세종대로 1’이 세 번째 열로 들어가고, 원래 메모는 네 번째 열로 밀립니다.
이름,주소,메모
민지,서울시 중구, 세종대로 1,방문 예정
메모 안에 줄바꿈이 있을 때
줄바꿈 자체가 오류는 아닙니다. 여는 큰따옴표와 닫는 큰따옴표 사이에 있으면 같은 필드의 일부입니다. 텍스트 편집기에서 두 줄로 보인다고 두 행이라고 세면 안 됩니다.
이름,주소,메모
민지,서울시 중구,"오전 연락
부재 시 문자"
메모 앞의 여는 따옴표나 끝의 닫는 따옴표가 빠지면, 읽는 프로그램은 줄바꿈부터 새 레코드로 해석할 수 있습니다. 이때는 가져오기 옵션을 바꿔 맞추기보다 누락된 따옴표가 왜 생겼는지 원본 생성 시스템에서 확인해 다시 내보내는 편이 안전합니다.
값 안에 큰따옴표가 있을 때
값 안의 큰따옴표는 백슬래시를 붙이는 방식이 아니라 큰따옴표를 두 번 써서 나타냅니다.
이름,주소,메모
민지,서울시 중구,"상태는 ""보류""로 기록"
이 규칙은 인용 필드 안의 큰따옴표를 두 개로 표현하는 RFC 4180의 예와, 쉼표·줄바꿈을 포함한 인용 필드를 하나의 필드로 읽어야 한다는 GNU의 CSV 처리 설명에 맞습니다.
원본을 덮어쓰지 않고 확인하는 순서
- CSV 파일을 복사해 작업본을 만듭니다. 이미 Excel에서 저장했다면 그 파일로 원본을 대체하지 말고, 처음 받은 CSV를 따로 보관합니다.
- 작업본을 텍스트 편집기로 열고 열이 처음 밀리는 레코드의 앞을 찾습니다. 쉼표가 든 주소·메모가 큰따옴표로 시작하고 끝나는지, 필드 안의 큰따옴표가
""인지 확인합니다. - 줄바꿈이 보이면 바로 다음 줄을 새 행으로 세지 않습니다. 앞선 여는 큰따옴표가 닫히기 전이면 같은 메모 필드입니다. 닫힌 뒤에만 다음 레코드가 시작합니다.
- Excel에서는 파일을 더블클릭하지 말고 데이터 > 텍스트/CSV에서 불러옵니다. 구분자를 확인하고 미리보기에서 헤더와 각 레코드가 같은 세 열로 나뉘는지 봅니다. Microsoft의 텍스트/CSV 가져오기 안내도 이 경로에서 구분자를 선택하고 결과를 미리보기로 확인하도록 안내합니다.
- 미리보기에서 특정 레코드만 네 열 이상이거나 메모가 다음 행으로 분리되면, Excel에 가져오지 말고 작업본의 해당 인용 부호를 다시 봅니다. 모든 레코드가 같은 열 수로 보일 때만 가져옵니다.
이 검산은 쉼표 개수를 기계적으로 세는 일이 아닙니다. 큰따옴표 밖의 쉼표만 열 경계로 세고, 큰따옴표 안의 쉼표와 줄바꿈은 값으로 남겨야 합니다.
가져오기 설정으로 해결되는 경우와 아닌 경우
파일 자체는 정상인데 Excel이 다른 구분자를 적용한 경우에는 텍스트/CSV 가져오기에서 구분자를 바로잡고 미리보기를 확인하면 됩니다. 반면 주소 값을 감싸는 따옴표가 없거나 줄바꿈 메모의 닫는 따옴표가 빠졌다면, 구분자 선택만으로 원래 열 경계를 되살릴 수 없습니다.
레거시 텍스트 가져오기 마법사를 사용할 수 있는 환경이라면 텍스트 한정자를 큰따옴표로 두고, 따옴표 사이 쉼표가 한 셀로 남는지 미리보기에서 확인할 수 있습니다. 다만 이 기능은 깨진 닫는 따옴표를 고치는 도구가 아니라 해석 결과를 확인하는 도구입니다. Microsoft의 Text Import Wizard 설명도 이 구분을 보여 줍니다.
열 수가 맞아도 앞자리 0이나 긴 식별자가 바뀔 수 있습니다. 그 문제까지 함께 막으려면 엑셀 CSV 한글 깨질 때, 더블클릭 대신 가져오기에서 가져오기 과정의 열 형식 확인도 이어서 보세요.