Error
MS-SQL의 데이터를 MySQL의 데이터베이스에 마이그레이션 해야하는 작업이 있었다.
M-SSQL SSMS에서 쿼리 결과를 CSV 파일로 만들었고,
MySQL Workbench에서 CSV 파일을 Import 하려는 도중 아래와 같은 에러 문구가 출력되었다.
Unhandled exception: 'cp949' codec can't decode byte : illegal multibyte sequence
해결 방법
결론부터 말하면 CSV 파일을 열어 그냥 CSV파일 확장자로 변경하면 된다.
오류가 출력되는 이유는 MySQL 자체에서 지원하지 않는 인코딩 형식이라는 것이다.
대개 한글이 포함된 파일의 경우 'CP949'의 인코딩 형식이 많다고 한다.
하지만 MySQL에서는 CSV 파일의 인코딩 형식인 'CP949'를 지원하지 않는다.
엑셀로 CSV 파일을 열어 다른 이름으로 저장을 하려고보니 파일 형식이 'CSV UTF-8'로 되어 있었다.
이유는 모르겠지만, UTF-8이라고 되어 있음에도 오류가 발생하더라.
다른 이름으로 저장할 때, 파일 형식을 'CSV (쉼표로 분리)'을 선택하여 저장한다.
그리고 MySQL Workbench에서 CSV 파일을 임포트하면 정상적으로 잘 불러와진다.
+ 엑셀을 사용하지 않을 경우 (메모장으로 CSV 파일 형식 변경하기)
포스팅에서는 엑셀을 사용하여 다른 이름으로 저장하였지만,
윈도우의 경우 기본 메모장을 이용하여 변경할 수도 있다.
메모장을 실행하고 CSV 파일을 불러온 후, 다른 이름으로 저장을 누른다.
저장 버튼 온쪽을 보면 인코딩 형식을 설정하는 곳이 있다.
여기에서 'UTF-8'을 선택한 후 저장하면 된다.