MySQL CSV Import Error) Unhandled exception: 'cp949' codec can't decode byte : illegal multibyte sequence

반응형

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 확장자 파일의 파일 형식 확인 화면>

 

다른 이름으로 저장할 때, 파일 형식을 'CSV (쉼표로 분리)'을 선택하여 저장한다.

<CSV 확장자 파일의 파일 형식을 변경하여 저장하는 화면>

 

그리고 MySQL Workbench에서 CSV 파일을 임포트하면 정상적으로 잘 불러와진다.

<MySQL 워크벤치에서 정상적으로 CSV 파일이 Import된 화면>

 

+ 엑셀을 사용하지 않을 경우 (메모장으로 CSV 파일 형식 변경하기)

포스팅에서는 엑셀을 사용하여 다른 이름으로 저장하였지만,

윈도우의 경우 기본 메모장을 이용하여 변경할 수도 있다.

메모장을 실행하고 CSV 파일을 불러온 후, 다른 이름으로 저장을 누른다.

저장 버튼 온쪽을 보면 인코딩 형식을 설정하는 곳이 있다.

여기에서 'UTF-8'을 선택한 후 저장하면 된다.

<메모장에서 CSV 파일 확장자의 인코딩 형식을 변경하는 화면>


참고

반응형