CHARACTER SET utf8mb4

CHARACTER SET utf8mb4는 MySQL에서 데이터를 저장할 때 사용하는 문자 인코딩 방식을 정의합니다.

주요 특징

utf8과 utf8mb4의 차이

문자셋 최대 바이트 이모지 지원 설명
utf8 3바이트 일부 유니코드 문자만 지원
utf8mb4 4바이트 모든 유니코드 문자 지원

참고: MySQL의 utf8은 실제로 완전한 UTF-8이 아니라 3바이트로 제한된 UTF-8 구현체입니다.

COLLATE utf8mb4_unicode_ci

COLLATE utf8mb4_unicode_ci는 문자열을 비교하고 정렬하는 방식을 정의합니다.

주요 특징

콜레이션(Collation) 종류 비교

콜레이션 대소문자 구분 속도 특징
utf8mb4_general_ci 빠름 단순하지만 일부 언어 특성 무시
utf8mb4_unicode_ci 보통 정확한 유니코드 비교 규칙 준수
utf8mb4_bin 빠름 바이너리 비교(바이트 단위 완전 일치)
utf8mb4_general_cs 보통 대소문자 구분 일반 비교

특수 비교 사례: 'straße' = 'STRASSE'

utf8mb4_unicode_ci는 유니코드 정렬 규칙을 따르므로 다음과 같은 특별한 비교가 가능합니다: