[MySQL] Unhandled exception 오류 해결

Sumin Kim·2023년 8월 27일

MySQL 오류 해결

목록 보기
1/1
post-thumbnail

❗️ MySQL Data Import 오류 해결 과정

MySQL에서 데이터를 Workbench에 Import 시도
But, 다음과 같은 오류가 발생

오류메시지 : Unhandled exception: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)


🖥️ 체크사항 : 필자는 MAC M1을 사용 중이며, WorkBench는 가장 최신 버전.
✔️ 구글링 : 해당 오류가 인코딩 문제라는 말이 대부분.
❗️ Data csv -> Excel로 utf-8형식 인코딩 시 문제 해결
But, utf-8 인코딩 후에도 여전히 오류는 해결 X.

🖍️ 구글링으로 얻은 해결 방법
1. File Path에 한글이 없어야 하는 것
2. MySQL 8.0.22 버전을 설치
3. csv파일을 JSON 형식으로 변환해야 하는 것
4. CotEditor를 사용하여 BOM utf-8 방식 데이터 -> 단순 utf-8 방식 데이터로 변환(MAC)

2번으로 해결했다는 글이 많았지만, 8.0.22 버전 이용 시 Workbench 자체가 실행이 안된다는 말도 있었기에 시도 X.
3번 방식도 JSON형식만으로 데이터를 계속 변환할 수는 없는 노릇이기에, [1번과 4번 방법들을 진행.]

  • File Path에서 한글 삭제
  • CotEditor 이용, 엑셀로 utf-8 인코딩했던 데이터 (BOM utf-8) -> 단순 utf-8 인코딩 방식으로 변환하기

다음과 같은 해결방식 진행 -> 오류 똑같이 발생.
But, Workbench 종료 후 다시 실행 및 모든 스키마를 새로고침 후,
Data Import하니 데이터가 오류코드 없이 Import 성공

BOM utf-8 방식은 일반적으로 윈도우 환경에서의 utf-8 방식임을 알게 되었고, MAC 사용자인 저는 이를 단순 utf-8 방식으로 인코딩해야 이러한 점에 민감한 MySQL Workbench에서 작동이 원활히 진행된다는 것을 알게 되었습니다.

📌 정리 : 해당 오류는 데이터 csv 파일에 한글이 포함된 경우, 이를 단순 utf-8 방식으로 인코딩하여 워크벤치에서 불러와야 합니다. MySQL Workbench는 단순 utf-8 인코딩 데이터만 받아들일 수 있는 것으로 보이고, Excel을 이용하여 utf-8 인코딩시 Bom utf-8 방식으로 인코딩되기 때문에 워크벤치에서 Import 오류가 발생했던 것입니다. Mac 사용자는 CotEditor 같은 프로그램을 이용하여 단순 utf-8 방식으로 변환하든지, Python을 이용하여 데이터 인코딩을 변환하는 작업을 진행해야 되겠습니다.

profile
🧑🏻‍💻 Data Analyst, 데이터 분석 기술 블로그입니다 :)

2개의 댓글

comment-user-thumbnail
2023년 10월 28일

전 이렇게 해도 안되네요... 혹시 CotEditor에서 Line Endings도 바꾸셨나요?

1개의 답글