mysql utf8mb4 설정

# 기본적으로 utf8 인코딩은 총 4바이트로 문자를 표현하는데, 
# mysql 에서는 utf8 문자셋은 utf8mb3의 alias 로 총 3바이트를 사용한다.

# 실제 utf8(4byte) 사용을 위해선 utf8mb4 로 명시해야 한다.

# 스키마(db) 문자셋을 utf8mb4로 변경
# collate 는 order by(정렬)에 사용, 이것도 utf8mb4_bin 로 변경
alter schema `ysoftman_db` default character set utf8mb4  default collate utf8mb4_bin ;

# utf8mb4 로 변경된 스키마는 이제 새로운 테이블 생성시 기본 utf8mb4 로 설정한다.
# 하지만 이미 존재하는 테이블은 여전히 utf8 문자셋이다.
# 테이블 문자셋을 utf8mb4 로 변경
alter table `ysoftman_table1` default character set utf8mb4 default collate utf8mb4_bin;

# 컬럼도 필요시 변경
alter table `ysoftman_table1` 
change column `name` `name` varchar(100) character set 'utf8mb4',
change column `desc` `desc` varchar(100) character set 'utf8mb4';

# 보통 emoji 나 기타 특수한 문자를 db 에 저장하지 않아 
# 대부분은 utf8mb3 로 둬도 상관은 없다.
# 참고로 기존 테이블, 컬럼에 인코딩 문자셋을 한번에 변경하는 쿼리는 없어
# 스크립트로 쿼리문을 생성해 실행해야 한다.

comments:

댓글 쓰기