반응형
mysql 을 사용하다보면 utf8 캐릭터 셋을 자주 사용한다. 그 중에서도 여러 패키지가 존재하는데 잘 알지 못하고 사용하는 것 같다.
주로 사용하는 캐릭터 셋을 정리된 글을 공유해본다.
핵심 부분만 정리했다. 자세한 내용은 아래 출저 페이지에가서 보면 좋은 공부가 될 것 같다.
- Mysql에서 주로 보는 Charset과 collection이 있는데 각각 문자집합과 정렬을 뜻한다.
- utf8은 1 ~ 4 바이트까지 저장할 수 있도록 설계된 가변 바이트 자료형이다.
- Mysql에서는 utf8을 3바이트 가변 자료형으로 저장한다. (chraset: utf8, collation: utf8_general_ci)
- emoji와 같은 문자는 4바이트이기 때문에 해당 필드에 저장하면 문제 발생
- Mysql 5.5.3부터 가변 4바이트가 제공되는 utf8mb4가 추가됨.
- 기존 mysql의 utf8_general_ci를 utf8mb4로 변경하는건 별 문제 없다. (같은 utf8)
- collation에서 사용되는 utf8_bin은 바이너리 저장 값 대로 정렬하고 utf8_general_ci는 라틴 계열 문자를 사람의 인식에 맞게 정렬하고 utf8_unicode_ci는 조금 더 특수하게 정렬됨.
출처
https://blog.lael.be/post/917
반응형
'데이터베이스 > mysql' 카테고리의 다른 글
mysql 컬럼별 상위 N건 조회하는 방법 (0) | 2022.10.31 |
---|---|
Mysql 인덱스 사용법 및 실행 계획 정리 (0) | 2020.06.10 |
Mysql 묵시적 형변환 (2) | 2018.10.03 |
Mysql 실행계획 설명 (0) | 2018.10.03 |
Mysql Exists와 IN절 설명과 차이점 (0) | 2018.10.03 |