저는 MySQL을 처음 접했고 다음을 알고 싶습니다.
utf-8
navicat에서와 같이 charset으로 데이터베이스를 만들려면 어떻게 해야합니까?
create mydatabase;
... 어떤 종류의 기본 문자셋을 사용하는 것으로 보입니다.
저는 MySQL을 처음 접했고 다음을 알고 싶습니다.
utf-8
navicat에서와 같이 charset으로 데이터베이스를 만들려면 어떻게 해야합니까?
create mydatabase;
... 어떤 종류의 기본 문자셋을 사용하는 것으로 보입니다.
답변:
참고 : 다음은 이제 더 나은 방법으로 간주됩니다 ( bikeman868의 답변 참조 ).
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
원래 답변 :
이 시도:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
자세한 내용 은 MySQL Reference Manual의 데이터베이스 문자 집합 및 데이터 정렬 을 참조하십시오.
COLLATE utf8mb4_unicode_520_ci
또는 utf8mb4_0900_ai_ci
로케일에 따라 다릅니다 utf8mb4_vi_0900_ai_ci
. MariaDB 10.2.2+의 경우 "nopad"데이터 정렬이 utf8mb4_unicode_520_nopad_ci
있습니다. dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
utf8mb4_0900_ai_ci
. 것 같습니다utf8mb4_unicode_ci
다음을 사용해야합니다.
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
참고 utf8_general_ci
더 이상 권장 모범 사례. 관련 Q & A를 참조하십시오.
utf8mb4_0900_ai_ci
. 것 같습니다utf8mb4_unicode_ci
utf8mb4
은 우리의 나머지 부분입니다utf8
. 그렇다면 MySQL은 무엇utf8
입니까? 문자의 하위 집합에만 작동하지만 이모티콘과 같은 기능에는 실패하는 utf-8의 제한된 버전입니다. 나중에utf8mb4
올바른 구현 을 추가 했지만 MySQL은 이전 실수와 역 호환성을 유지해야하므로 이전 코드를 수정하는 대신 새 인코딩을 추가했습니다. 모든 새 데이터베이스는을 사용해야utf8mb4
합니다.