문제 발생
MySQL에서 데이터 조회 시 한글이 ???나 이상한 단어로 표시되거나, 데이터 기입 시 incorrect string value에러가 발생하는 경우가 발생할 수 있습니다.
이런 경우 십중팔구 DB의 인코딩 설정이 잘못되어 발생한 이슈 입니다.
빠르게 문제 해결하기
1) sudo mysql -u root -p 로 mysql에 접속
$ sudo mysql -u root -p
2) mysql> status; 를 입력
mysql> status;
저부분이 latin1으로 되어있는지 먼저 확인한다.
3) 확인이 끝나면, mysql>quit; 로 DB에서 나가준다.
mysql>quit;
4) sudo vi /etc/mysql/my.cnf 로 MySQL의 DB 설정을 바꿀 수 있다.
$ sudo vi /etc/mysql/my.cnf
위 이미지 처럼 되어있을텐데 i를 눌러 insert 모드로 변경후 22번 줄부터 아래를 입력해준다
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
skip-character-set-client-handshake
이후 esc키 -> :wq 를 입력해주면 저장+나가기가 될것이다
5) mysql를 재실행 해준다.
$ sudo service mysql restart
6) 다시 mysql로 접속 한다.
sudo mysql -u root -p
7)status를 쳐주면 latin1이 utf8로 변경되 있을것이다.
mysql> status;
끝.
728x90
반응형