공부하는 소담아빠

스프링 + MySQL 이모지(emoji) 사용하기 본문

웹_서버_개발/Spring

스프링 + MySQL 이모지(emoji) 사용하기

소담아빠 2020. 1. 29. 15:20
반응형

웹상에 검색을 해도 대부분 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
Comments