본문 바로가기

Study/BackEnd

[Database] 테이블의 Character_set을 utf8로 바꿔주기

 

새로 만든 api의 test를 하던 도중에, 프론트엔드 개발자 분께 에러 해결 요청이 왔다.

해당 api로 요청을 보내면 500번대 에러가 뜬다는 것!

바로 에러 메세지를 확인해보니,

django.db.utils.OperationalError: ({아이디값}, "Incorrect string value: '\\xED\\x95\\x9C\\xEA\\xB8\\x80' for column {데이터베이스명}.{테이블명}.{컬럼명} at row 1")

이라는 에러가 떴다.

내용으로 봐서는 한글 인코딩에 문제가 생긴듯 했고, 다른 api는 정상작동하는 것으로 보아서
해당 컬럼의 Character_set만 utf8로 바꾸는 작업을 진행했다.

 

데이터베이스에 접속해서, 해당 테이블로 이동하고 다음 명령어를 이용하여 해당 컬럼의 Character_set을 utf로 바꿔주었다.

ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

 

이모지까지 인코딩할 수 있어야해서 utf8mb4로 바꿔주었고, api는 다시 정상적으로 작동했다.