디지털 노마드/ 자연인/ IT개발

개발자

[django] django.db.utils.OperationalError: (1366, "Incorrect string value: 에러 해결하기

포하 2021. 7. 2. 19:22

django에서 신규생성한 테이블에 크롤링한 데이터를 입력하려 하자 에러가 났다

 

django.db.utils.OperationalError: (1366, "Incorrect string value: <UTF8 4바이트 문자열>

 

인터넷으로 찾아보니 데이터베이스가 4바이트 문자열을 지원하지 않아서 그렇다는 말도 있어, 

 

해당 테이블 과 컬럼의 캐릭터셋을 UTF8 4바이트 지원하도록 alter해주는 것

ALTER TABLE <테이블> CHANGE <컬럼> TEXT CHARACTER SET utf8mb4 COLLATE UTF8MB4_UNICODE_CI;
ALTER TABLE <테이블> CONVERT TO CHARACTER SET utf8mb4 COLLATE UTF8MB4_UNICODE_CI;

 

요즘 이모지(윈도우 + '.' 입력)라고 젊은 친구들이 많이 쓴다는데, 희한하게 UTF8 4바이트 문자열이라고 한다. 

 

운이 좋았다.