Dev/DBMS

이모지(Emoji) 지원을 위한 MariaDB 설정

newtype 2023. 7. 28. 16:37

결론 부터 이야기 하면, 서버 설정을 이모지 지원을 위한 4 byte utf8로 설정하면 된다.
( utf8mb4 / utf8mb4_unicode_ci )

  1. 설치
    • docker를 사용해서 간단히 설치 한다.
$ docker pull mariadb:10.6.14

$ docker run --name mariadb-10.6.14 -d -p 3333:3306 --restart=always -e MYSQL_ROOT_PASSWORD='root123' -e TZ=Asia/Seoul mariadb:10.6.14 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower_case_table_names=1

$ docker exec -ti mariadb-10.6.14 mysql -u root -p'root123'

create database test;  
create user 'tester'@'%' identified by 'tester123';  
grant all privileges on test.* to 'tester'@'%';  
flush privileges;

use test;  
create table test (  
`str` varchar(64) not null,  
`rmk` varchar(128) not null,  
primary key (`str`)  
) ENGINE=InnoDB
  • lower_case_table_names은 테이블 대소문자 구분을 안하기 위한 설정
  1. 테스트
$ mysql --default-character-set=utf8mb4 -h127.0.0.1 -P3333 -utester -p'tester123' test

MariaDB [test]> insert into test values ('𝟓𝟔𝟖 568', '숫자 이모지');  
Query OK, 1 row affected (0.008 sec)

MariaDB [test]> select * from test;  
+-------------------------------------------+----------------+  
| STR                                       | RMK            |  
+-------------------------------------------+----------------+  
| 𝟓𝟔𝟖 568                                  | 숫자 이모지    |  
+-------------------------------------------+----------------+  
1 row in set (0.001 sec)
반응형