공부하는 소담아빠
스프링 + MySQL 이모지(emoji) 사용하기 본문
웹상에 검색을 해도 대부분 DB와 테이블의 캐릭터 셋만 변경하는 내용이 나와있어서
직원이 알려준 DB 컬럼의 캐릭터 셋도 변경하는 것을 작성한다.
◈ my.cnf 변경 ->
vi /etc/my.cnf
[client]
default-character-set = utf8mb4
[mysqld]
#character-set-client-handshake = FALSE -> 주석처리
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
service mysql restart
◈ DB, 테이블, 칼럼의 캐릭터 셋 변경
각각의 캐릭터 셋 값이 utf8mb4 인지 확인 다르다면 변경
- DB 확인
SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE SCHEMA_NAME = "DB명";
- DB 변경
ALTER DATABASE "DB명" default CHARACTER SET = utf8mb4;
- 테이블 확인
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = "DB명"
AND T.table_name = "테이블명";
-테이블 변경
ALTER TABLE "테이블명" default CHARACTER SET = utf8mb4;
- 칼럼 확인
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "DB명"
AND TABLE_NAME = "테이블명";
AND COLUMN_NAME = "칼럼명";
ALTER TABLE 테이블명 MODIFY COLUMN 칼럼명 TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
VARCHAR의 바이트를 191바이트 이하로 사용하는 것도 잊지 않는다.
'웹_서버_개발 > Spring' 카테고리의 다른 글
Servlet.init() for servlet appServlet threw exception (0) | 2017.08.21 |
---|