[DB] 이모지 DB(MySQL, Maria DB) 저장 버그 해결
2021. 6. 10. 22:22ㆍDatabase
** 초보 개발자로 글에 수정해야 할 부분이 있을 수 있습니다. 정정해야 할 부분은 댓글로 소통 부탁드립니다!
개발자가 아무리 다양한 케이스들을 고려하여 프로그래밍한다고 해도
실 사용자들의 다양한 유즈케이스들을 만족시키기란 너무 어렵죠... ㅠ
저의 경우에는 사용자들의 이모지(이모티콘) 입력이 그러했어요~
실제로 SERVER에서는 wrong string 1366 ERROR 가 발생했습니다.
원인이 무엇일까요?
4byte로 구성된 이모지는 utf8 characterset으로 입력이 가능하지만,MySQL 및 MariaDB 에서는 utf8을 3byte로 처리하고 있어 문제가 발생하는 것이었습니다.
해결책
:: alter 쿼리를 통해 DB의 characterset, collate(정렬 방식)을 utf8(설정에 따라 다름) -> utf8mb4로 변경
전체 DB의 characterset, collate을 변경할 수도 있고, 원하는 테이블의 컬럼만 변경할 수도 있음
(쿼리는 검색해보세요~!)
[References]