테이블 CHARSET이 utf8mb4로, COLATION이 utf8mb4_unicode_520_ci로 설정되어 있는 이유는 무엇입니까?
최근에 알게 된 것은 새로운 WordPress 프로젝트를 시작할 때마다 테이블 조합이 자동으로 변경된다는 것입니다.utf8_unicode_ci
(phMyAdmin에서 새 DB를 작성할 때 선택합니다)utf8mb4_unicode_520_ci
.
또한 phpMyAdmin에서 "일반 설정" 아래에 있는 서버 연결 조합의 기본값이 다음과 같습니다.utf8mb4_unicode_520_ci
.
Ubuntu 17.04에서 MySQL Server 5.7.17과 phpMyAdmin 4.6을 실행하고 있습니다.
질문은 다음과 같습니다.
- 왜 이런 일이 생기는 건가요?
- 가능하다면 어떻게 하면 예방할 수 있을까요?때문에.
utf8mb4
WP 사이트를 지원하지 않는 이전 MySQL 서버로 마이그레이션할 때 문제가 발생했습니다. - 2번 지점이 바람직한가요?charset을 사용하면 어떤 이점이 있습니까?
utf8mb4
에 걸쳐서utf8
, 및 대조utf8mb4_unicode_520_ci
에 걸쳐서utf8_unicode_ci
?
예전에는 그냥...utf8
(일명utf8mb3
);
앞으로는 utf8mb4가 기본 문자 집합이 됩니다.
지금utf8mb4
는 기본 문자 세트입니다.
옛날에는_general_ci
디폴트 대조입니다._unicode_ci
(Unicode 4.0)이 더 낫습니다._unicode_520_ci
(유니코드 5.20).향후(MySQL 8.0) 기본값은 다음과 같습니다._0900_ci_ai
(유니코드 9.0).
한편, MySQL의 과거 실수로 인해 발생한 포트홀로 가득합니다.그리고 WP 디자이너들은 포트홀을 눈치채지 못하는 큰 탱크를 운전하고 있다.
MySQL 5.6은 지나치게 긴 WP 인덱스와 함께 767개의 인덱스에 대한 제한 때문에 많은 WP 사용자를 삼킨 큰 포트홀이었다.VARCHAR(255)
또, 사용의 가능성도 있습니다.utf8mb4
. 5.7.17을 얻음으로써 충분히 성공했습니다.(앞으로 8.0으로 이행하는 것은 어렵지 않을 것입니다.)
즉, 5.7.7 이상에서 새로 작성된 데이터베이스/테이블/컬럼에서는 767 문제가 발생하지 않지만 특히 utf8mb4로 변경되는 원인이 되는 경우 이전 버전(5.5.3 이상)에서 마이그레이션된 항목에 문제가 발생할 수 있습니다.
무엇을 해야 하나?모든 옵션을 설명하려다 공간이 부족해질 것 같아요.데이터 이력, 업그레이드 경로(있는 경우), 현재 설정,ROW_FORMAT
테이블에서CHARACTER SET
그리고.COLLATION
컬럼의 출력SHOW VARIABLES LIKE 'char%';
당신은 어디에 있어야 합니까?5.7.7 이상의 경우utf8mb4
그리고.utf8mb4_unicode_520_ci
가능한 곳이라면 어디든.이 문자 집합은 이모지와 모든 중국어를 제공합니다(utf8은 그렇지 않습니다.그 조합은 가장 좋은 조합이지만, 어디가 중요한지 잘 모르실 수도 있습니다.
참고: 조합 이름의 첫 번째 부분은 조합이 사용할 수 있는 유일한 문자 집합입니다.은 ★★★★★★★★★★★★★★★★입니다.utf8_unicode_ci
에는 사용할 수 .utf8mb4
.
MySQL 8.0의 경우 제목에 언급된 것보다 더 나은 조합이 있습니다.일반적으로 선택한 문자 집합의 기본 조합만 사용합니다(언어별 요구 호환성 문제가 없는 경우).
언급URL : https://stackoverflow.com/questions/43644218/why-is-table-charset-set-to-utf8mb4-and-collation-to-utf8mb4-unicode-520-ci
'programing' 카테고리의 다른 글
wordpress admin의 Jquery UI 대화 상자 (0) | 2023.03.15 |
---|---|
기능적 리액트 컴포넌트에 대해 기능 선언보다 화살표 구문이 선호되는 이유는 무엇입니까? (0) | 2023.03.15 |
$location을 사용한 AngularJS 페이징경로는 ngView 새로고침 없음 (0) | 2023.03.15 |
AngularJS: 디자인 패턴의 이해 (0) | 2023.03.15 |
JSON 형식의 POST 데이터 (0) | 2023.03.15 |