본문 바로가기
개발

이모지 입력 시 디비 에러

by 코타 2023. 9. 19.

이모지를 디비에 입력하려면 해당 칼럼이 utf8가 아닌 utf8mb4로 설정돼 있어야 한다.

테이블을 생성할 때 charset을 설정했다면 칼럼도 그 속성을 따라가지만,

추후에 charset을 변경하는 거라면 테이블, 칼럼 각각 charset을 수정해야 한다.

아래 수정 쿼리를 통해 charset을 수정하면 해결된다.

 

charset조회 쿼리

- DB

SELECT DEFAULT_CHARACTER_SET_NAME        
FROM INFORMATION_SCHEMA.SCHEMATA 
WHERE SCHEMA_NAME = 'DB명';
 

- Table
SELECT TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'DB명';
 

- Column
SELECT COLUMN_NAME, CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = "DB명"
AND TABLE_NAME = "TABLE명"

 

수정 쿼리

- 테이블
ALTER TABLE "테이블명"
CHARACTER SET = utf8mb4 , COLLATE = utf8mb4_general_ci ;

- 칼럼
ALTER TABLE "테이블명"
CHARACTER SET = utf8mb4 , COLLATE = utf8mb4_unicode_ci ,
CHANGE COLUMN `title` `title` VARCHAR(128) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci' NOT NULL;

 

반응형

댓글