반응형
mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
기존 mysql이 utf8_general_ci로 세팅이 되어 있다.
# 기존 설정을 백업해두자.
cp /etc/my.cnf /bak/my.cnf_org
# my.cnf 설정을 수정해야한다.
vi /etc/my.cnf
수정해야할 부분이 있다.
[client]
default-character-set = utf8mb4
[mysqld]
init_connect = SET collation_connection = utf8mb4_general_ci
init_connect = SET NAMES utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
[mysql]
no-auto-rehash
default-character-set = utf8mb4
[mysqldump]
default-character-set = utf8mb4
위 부분을 수정해주어야 한다.
mysqldump의 경우, 그때그때 옵션에 --default-character-set utf8mb4 옵션을 넣을 거라면 안해줘도 된다.
수정되고 나면 아래와 같이 설정되어 있다.
이제부터 데이터베이스를 만들 때 테이블을 만들 때 기본적으로 아래의 설정을 따라가게 된다.
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
* 하지만, 이미 만들어져 있던 데이터베이스는 기존의 설정을 그대로 유지한 채로 남게된다.
* 기존 데이터베이스의 설정도 바꾸고 싶을 때는 ALTER를 통하여 수정하면 된다.
ALTER DATABASE [mydatabasename] DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
* 그래도 테이블은 또 기존 설정을 그대로 유지한채 남아있다.
alter table [tablename] convert to character set utf8mb4 collate utf8mb4_general_ci;
이제 이모지가 사용가능하게 되었다.
Chatracter Set에 따른 이모지 인식의 차이는
https://blog.naver.com/sory1008/222401508955
이 엄청나신 분을 참고하면 됨.
이모지 종류를 확인할 수 있는 사이트
https://www.emojiengine.com/ko/keyboard/
'Database' 카테고리의 다른 글
[CouchBase] 설치 및 확인 (1) | 2024.03.28 |
---|---|
mysql / 버전, 스토리지 엔진, 캐릭터 셋, 테이블 명 대소문자 구분 확인 (설치 후 확인해야 할 부분들) (0) | 2023.11.21 |
Intellij / Datagrip에서 MS-SQL to MySQL 로 테이블을 간단하게 이관시키는 방법. (0) | 2023.10.10 |
ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace "XXX" (0) | 2023.10.06 |
[MySQL/mariaDB] 구분자로 잘라서 행으로 반환하자. (feat. json_table()) (1) | 2022.05.20 |
댓글