어쩌다 급한 상황에 개발을 하지 않고 데이터만 즉시 조회하여 데이터를 뽑아 엑셀로 봐야하는 경우가 있다.
나는 DBeaver를 사용하는데, CSV파일을 추출하여 확인하면 한글이 깨져 알아볼 수 없게된다.
mac을 사용하기때문에 미리보기로 봐서 잘나왔다고 생각하고 파일을 다른 사람에게 건낸적이 있다.
결국 파일이 잘못되었다는 것을 알았고 수습하느라 정말 애를 먹었다.
그래서 그날을 기억하며 다시는 같은 실수를 하지 않도록, 이 글을 보는 사람들도 도움을 받으면 좋겠어서
글을 작성해본다.
먼저 CSV파일이란
comma separated values 의 줄임말로
필드를 ,(쉼표)로 구분한 텍스트 데이터 및 텍스트 파일이다.
해결방법으로는 여러가지가 있겠지만
오늘은 두 가지만을 확인한다.
사전처리 방법과 사후처리 방법이다.
CSV를 선택 -> 다음 -> 다음 -> 우측 Insert BOM 체크하기
이렇게 파일을 다운받으면 끝이다.
매우 쉽고 필요에 따라 엑셀파일로 확장자를 변경해주면 된다.
이미 다운받아진 파일만을 활용해야한다면 아래와 같은 방법을 써보자.
printf '\xEF\xBB\xBF' | cat - 변환전.csv > 변환후.csv
이렇게 해결할 수 있다.
printf는 주어진 문자열을 출력하는 명령어인데 echo보다 더 많은 옵션이 있다.
'\xEF\xBB\xBF' 는 UTF-8 인코딩의 바이트 순서 표시(BOM)을 나타낸다.
(BOM: 텍스트 스트림이 어떤 유니코드 인코딩을 사용하는지를 나타내는 접두사)
| (파이프)는 한 명령어의 출력을 다른 명령어의 입력을 전달하는 데 사용이 된다.
cat 파일의 내용을 출력해준다.