https://velog.io/@juhyeon1114/rds-character-set
mysql> SHOW VARIABLES LIKE 'character_set_database';
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+
1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character_set_server';
+----------------------+--------+
| Variable_name | Value |
+----------------------+--------+
| character_set_server | latin1 |
+----------------------+--------+
1 row in set (0.01 sec)
mysql> SHOW FULL COLUMNS FROM member;
+------------------+--------------+-------------------+------+-----+---------------------+----------------+---------------------------------+----------------------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+------------------+--------------+-------------------+------+-----+---------------------+----------------+---------------------------------+----------------------------+
| user_number | bigint(20) | NULL | NO | PRI | NULL | auto_increment | select,insert,update,references | 사용자 고유 번호 |
| role | varchar(255) | latin1_swedish_ci | NO | | NULL | | select,insert,update,references | 사용자 역할 |
| registerDate | datetime | NULL | YES | | current_timestamp() | | select,insert,update,references | |
| username | varchar(255) | latin1_swedish_ci | NO | | NULL | | select,insert,update,references | 실제 사용자 이름 |
| profileImagePath | varchar(255) | latin1_swedish_ci | YES | | NULL | | select,insert,update,references | 프로필 이미지 경로 |
| nickname | varchar(255) | latin1_swedish_ci | NO | UNI | NULL | | select,insert,update,references | 아이디(활동명) |
| phoneNumber | varchar(255) | latin1_swedish_ci | YES | | NULL | | select,insert,update,references | |
| gender | varchar(10) | latin1_swedish_ci | YES | | NULL | | select,insert,update,references | 성별 |
| email | varchar(255) | latin1_swedish_ci | NO | UNI | NULL | | select,insert,update,references | 이메일 주소 |
| password | varchar(255) | latin1_swedish_ci | NO | | NULL | | select,insert,update,references | 비밀번호 |
| birth | date | NULL | YES | | NULL | | select,insert,update,references | 생년월일 |
+------------------+--------------+-------------------+------+-----+---------------------+----------------+---------------------------------+----------------------------+
11 rows in set (0.01 sec)
mysql>
한글을 쓰려면 latin1이나 ascii로 설정되어 있다면 UTF-8로 변경이 필요하다.
utf8이 아닌 **utf8mb4**를 사용해야 이모지까지 저장 가능즉, 나는 utf8mb4를 사용하여 이모티콘까지 허용할 것이다.
mysql -h healing-space-db.ccbse6ao07l0.us-east-1.rds.amazonaws.com -u root -p
ALTER DATABASE Healing_Space_DB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
애플리케이션(Spring Boot)에서도 spring.datasource.url에 ?useUnicode=true&characterEncoding=UTF-8 옵션 추가 확인!
spring.datasource.url=jdbc:mariadb://healing-space-db.ccbse6ao07l0.us-east-1.rds.amazonaws.com:3306/Healing_Space_DB?useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8mb4
우선 데이터 베이스 전체를 변경하고, 그래도 안되면 직접 각각 테이블로 접근해서 설정을 변경해준다.