본문 바로가기
웹 개발 이야기

[MARIADB] DB 캐릭터 셋 utf-8으로 설정

by Gommin 2023. 3. 9.
[client]
default-character-set=utf8

MYSQL만 사용하던 내가 Maria DB를 사용한 이후 발견한 부분 중 하나인데

utf-8이 아닌 character set이 latin1로 대부분 적용되어 있어서 한글이 깨지거나 DB에 한글이 저장되지 않는 문제가 발생했다.

이 것을 해결하기 위해서는 테이블을 생성할 때마다 캐릭터 셋을 바꿔주거나 지금부터 설명할 방법을 이용하면 된다.

default character set을 latin1에서 utf-8으로 변경하려면, 아래 3개의 파일에 character set 설정을 추가하면된다.

 

1. /etc/my.cnf.d/client.cnf

[client]
default-character-set=utf8

2. /etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

3. /etc/my.cnf.d/server.cnf

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

4. MariaDB를 재시작한다.

sudo systemctl restart mariadb

5. 적용된 character set을 확인 한다. (maria db 접속 후)

MariaDB [(none)]> show variables like 'c%';

댓글