-
[Mysql] Incorrect string value .. charset 설정할 것!DataBase/Mysql 2022. 3. 20. 13:25
오랜만에 스프링으로 mysql 연동을 처음부터 시작하려는 데 다음과 같은 에러가 발생하였다.
Incorrect string value .. 이런 에러이다. 스프링단에서 디버그 걸어서 확인해보니 이상없이 잘 전달되었는 데?? 왜 한글을 못알아먹는거지 하고 생각해보았다.
스프링에서 이상이 없었으니 mysql과 연동에 문제였다. mysql을 기본으로 설치하면 latin1이라는 인코딩 방식인데 이는 한글을 인식하지 못하기 때문에 발생한 것이다.
그러므로 인코딩에서 가장 많이 사용하는 utf8을 사용하고자 하였다. 더하여 이모티콘도 사용할 수 있도록 하여야하므로 utf8mb4방식을 사용하였다.
mysql 설치를 한 곳을 찾아서 다음 작업을 수행하면 된다.
vim /etc/mysql/my.cnf
my.cnf파일을 다음과 같이 수정하면 된다.
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
그리고 mysql 재시작하면 된다.
service mysql restart
물론 나는 mysql을 설치형이 아닌 도커로 구축하였기 때문에 따로 볼륨 매핑을 하고 도커 재시작을 하였다.
재시작을 완료하고 mysql에 접속하여 status를 해서 다음처럼 변경되어 있으면 성공!
'DataBase > Mysql' 카테고리의 다른 글
[Mysql] docker compose로 mysql 설치 (+m1 맥북) (0) 2022.06.25 [Mysql] Data Truncated error (0) 2022.04.15