Thinkphp 환경에서 Mysql은 Emoji를 저장합니다.
Thinkphp의 기본 utf8은 Emoji를 지원하지 않습니다. Emoji는 유니코드 인코딩이고 각 Emoji는 4바이트를 차지하기 때문입니다. 데이터 테이블과 열의 인코딩을 utf8mb4로 변경하면 됩니다.
Emoji는 유니코드 인코딩이고 각 Emoji는 다음과 같이 4바이트를 차지하므로 Thinkphp의 기본 utf8은 Emoji를 지원하지 않습니다.
1. mysql 버전이 5.3.3 이상인지 확인하세요(utf8mb4 지원)
2. 테이블 문자 세트를 utf8mb4로 변경하고 정렬 순서는 utf8mb4_general_ci
3. 필드 문자 세트를 utf8mb4로 변경하고 정렬 순서는 utf8mb4_general_ci입니다
utf8mb4는 utf8의 확장이며 이전 버전과 호환됩니다.
일부 이모티콘이 여전히 물음표로 표시됩니다. 다음을 참고하세요.
데이터 연결 구성 '데이터베이스 인코딩'을 다음으로 수정합니다: 'DB_CHARSET'=> 'utf8mb4',
필드 문자 집합도 uf8mb4로 수정해야 합니다
그래야만 정상적으로 보관이 가능합니다! ! ! !