:: 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 인코딩으로 적용된 것을 확인할 수 있습니다.