:: Mysql(Mariadb) 한글 깨지는 현상 해결 ::
CentOS에 MariaDB를 설치하고 테스트하던 도중 입력된 한글이 물음표로 보이는 현상이 발생했습니다.
문제는 default character set이 latin1 으로 되어있기 때문인데, 이것을 utf8 인코딩으로 변경해보도록 하겠습니다.
# 1
mysql 콘솔 창에서
show variables like 'c%';
을 입력하면 간단하게 character set을 확인.
# 2
vi /etc/my.cnf
centos에서 해당 명령어로 my.cnf 설정 파일을 vi 편집기로 열어줍니다.
# 3
그런 다음 아래 내용을 추가 해줍니다.
[client]
default-character-set = utf8
[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
# 4
service mysql restart
centos에서 데몬을 재실행 합니다.
(만약 실패한다면, 설정에 오타가 있거나 버전이 위 설정을 지원하지 않는 것)
다시 show variables like 'c%';로
캐릭터 셋이 변경 되었는지 재차 확인합니다.
# other problems
만약 database가 여전히 latin1으로 표시된다면 기존에 생성한 database가
latin1으로 설정 되어있기 때문인데,
drop database DB명;
create database DB명;
해당 database를 날려주고 재생성하면 정상적으로 UTF-8 인코딩으로 적용된 것을 확인할 수 있습니다.