HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧐
Sonny
/
🧐
UTF8MB4가 뭐지?
🧐

UTF8MB4가 뭐지?

상태
해결
작성일
Apr 11, 2024
태그
Personal

History

  • 사프 작업 도중, varchar의 charset이 UTF8MB4로 되어 있는 것을 확인하여서 UTF8MB4이 무엇인지 궁금해졌다.

Result

  • 가변 길이 인코딩 방식
    • 정의 : 문자 또는 데이터 단위는 일반적으로 사용 빈도나 복잡성에 따라 표현을 위해 다양한 양의 비트 또는 바이트를 사용한다.
  • 고정 길이 인코딩 방식
    • 정의 : 모든 문자 또는 데이터 단위는 고정된 수의 비트 또는 바이트로 인코딩된다.
  • UTF-8
    • 정의 : 4 bytes로 문자를 표현하는 가변 길이 문자 인코딩 방식
  • UTF8MB3
    • UTF-8의 초기 버전
    • 최대 3바이트까지만 문자를 인코딩할 수 있어 일부 유니코드 문자를 표현할 수 없다.
  • UTF8MB4 (권장)
    • UTF-8의 확장 버전
    • 모든 유니코드 문자를 표현할 수 있도록 최대 4바이트까지 문자를 인코딩할 수 있다.
    • 이모지 같은 4바이트 문자도 저장할 수 있어서 MySQL 5.5.3 이후 버전에서는 UTF-8의 구현으로 권장
  • UTF-16
    • 가변 길이 인코딩 방식
    • 대부분의 유니코드 문자를 2바이트로, 추가 문자는 4바이트로 인코딩한다.
    • MySQL은 기본적으로 UTF-16을 직접적으로 지원하지 않는다.
  • UTF-16LE
    • UTF-16의 변형으로 'Little Endian' 바이트 순서를 사용한다.
    • 일반적으로 MySQL에서 직접 사용되지 않고 파일 시스템이나 네트워크 프로토콜에서 주로 사용된다.
  • UTF-32
    • 모든 유니코드 문자를 4바이트로 인코딩하는 고정 길이 인코딩 방식
    • UTF-32는 데이터베이스에서 문자를 저장하는 데 필요한 공간이 많기 때문에 일반적으로 사용되지 않는다.