utf8mb3, utf8mb4 차이

0 투표
mysql에서 데이터베이스를 생성할 때 utf8mb3, utf8mb4 구분되어 있는데, 차이점이 어떻게 되나요?

1 답변

0 투표

utf8mb3utf8mb4는 MySQL에서 지원하는 문자 집합(Character Set)입니다. 주요 차이점은 다음과 같습니다.

  1. 문자 지원:

    • utf8mb3: 1~3 바이트 UTF-8 문자만 지원합니다. 이로 인해 4바이트 길이의 일부 UTF-8 문자 (예: 이모티콘, 특정 아시아 언어의 문자 등)를 표현할 수 없습니다.
    • utf8mb4: 1~4 바이트 UTF-8 문자를 지원합니다. 이로 인해 모든 Unicode 문자를 올바르게 저장하고 처리할 수 있습니다.
  2. 이모티콘 및 특수 문자:

    • utf8mb3로 데이터베이스 또는 테이블을 설정하면 4바이트 문자를 저장할 수 없으므로, 이모티콘 같은 문자가 데이터베이스에 저장되지 않습니다.
    • utf8mb4는 모든 Unicode 문자를 지원하므로 이모티콘 및 특수 문자를 포함한 모든 문자를 저장할 수 있습니다.
  3. 용어:

    • utf8mb3는 원래 MySQL에서 "utf8"로 알려진 문자 집합입니다. 그러나 이것은 진정한 UTF-8 전체 집합을 지원하지 않았기 때문에 MySQL 8.0에서 utf8mb3로 이름이 변경되었습니다.
    • utf8mb4는 MySQL 5.5.3에서 도입되었으며, 이는 진정한 UTF-8 문자 집합을 지원하기 위한 것이었습니다.
  4. 인덱싱:

    • utf8mb4 문자 집합을 사용할 때 인덱싱과 관련된 일부 제한 사항이 있을 수 있습니다. 특히, utf8mb4를 사용할 때 InnoDB의 VARCHAR(255)가 기본 키로 사용되면, 최대 인덱스 키 길이를 초과하게 될 수 있습니다. 이 문제는 테이블의 ROW_FORMATDYNAMIC 또는 COMPRESSED로 설정하여 해결할 수 있습니다.

애플리케이션을 개발하는 경우 utf8mb4를 사용하는 것이 좋습니다. 이는 모든 Unicode 문자를 지원하기 때문에 더 유연하고 미래를 대비할 수 있습니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...