mysql 에서 이모지(emoji)를 사용하려면? utf8mb4

less than 1 minute read

mysql 에서 이모지를 사용하려면?

  • HTML 엔터티 모양으로 변환해서 저장.
  • 🎗😥 (이런 모양) -> Reminder Ribbon on Apple Disappointed but Relieved Face on Apple (이렇게 보인다.)
  • 이모지 이미지를 보고 싶다면. http://emojipedia.org/reminder-ribbon/

  • utf8mb4로 테이블 인코딩 형식(CHARSET) 변경.
  • MySQL 5.5.3 에서 utf8mb4 가 추가됨.
  • 유니코드 4바이트 지원 utf-8 charset

  • MySQL의 utf-8은 3바이트 기반임. 그 때는 3바이트로 모든 글자를 나타낼 수 있었음.
  • 문제는 뒤에 이모지(emoji)라는것이 툭 튀어나왔음. (4바이트까지 사용함)

  • 바이너리 필드 사용
  • varbinary
  • BLOB 
  • 이들 값을 문자열 체크를 안한다.

  • 누가 잘못했는가?
  • MySQL쪽에서 실수 한 것이 맞음.
  • 유니코드는 4바이트 기반인데, MySQL쪽에서 3바이트 만으로 되네, 그러면 3바이트로만 지원해야지.. 해서 utf8의 charset이 4바이트의 글자를 지원 못하는 문제가 발생됨.

🔗original-link

Updated: