Mysql csv 파일 insert 오류 0 4 7,305

by bateman [MySQL] mysql [2021.11.04 23:57:21]


안녕하세요. 

MySQL csv파일 인서트 시 오류가 납니다. 

제가 마이크로소프트는 깔지 않은 상태이고, 구글 시프레드시트 파일을 csv로 저장한 파일로 인서트 시도했습니다. 

오류 : Unhandled exception : 'cp949' codec can't decode byte 0xeb in position 0 : illegal multibyte sequence

구글링을 해보니 encoding이 된 것이라, 변환을 해줘야 한다고 하는데 무슨 말인지 잘 모르겠어요. 

해결방법 알려주시면 많이 도움이 될 것 같습니다. 

감사합니다. 

 

by 뉴비디비 [2021.11.05 01:26:43]

CP949는 기존 한글처리하는 EUC-KR 형식의 encoding 이고,
특수문자나 다국어 지원을 위해서 요즘은 UTF-8, UTF-16 등 Unicode 형식의 encoding 을 주로 쓰는데, 기존 EUC-KR 하고 호환되지 않는 문자들이 많아서, 
구글 CSV 파일의 encoding 형식과 MySQL 의 character set (encoding) 형식 확인 하셔서 같은 형식으로 맞추셔야 할꺼예요. 

자세한 encoding 내용이 필요하시면 검색 고고씽~


by pajama [2021.11.05 08:48:14]

오류메시지는 mysql이 아니고 python 오류같은데요..open이나 csv 읽는 함수에서 encoding 옵션을 주시면 될겁니다.


by isNull [2021.11.05 10:18:29]

position 0이면... 저거 BOM 오류네요.

유니코드 타입 파일 시작부에 들어가는 겁니다.

BOM 찾아보시고 그거에 대한 처리해주시면 될거같습니다.

참고 : EXCEL, CSV파일 다운로드, 한글 깨짐, UTF-8 BOM : 네이버 블로그 (naver.com)

p.s. cp949는 메모장같은거에서 보면 인코딩 ansi 타입에 대응합니다. 그러니까 csv를 생성하고 저장할때 ansi타입으로 저장하거나 아니면 이미 받은걸 다른이름을 저장하면서 ansi로 저장하거나 하면 문제가 해결되긴 할겁니다.


by bateman [2021.11.05 13:06:55]

댓글 많이 남겨주셔서 감사합니다. 

이따가 다시 한번 천천히 살펴봐야 할 것 같아요. 

감사합니다!!!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입