Loading...
MySQL 9.5 Reference Manual 9.5의 12.3.1 Collation Naming Conventions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL collation 이름은 다음 규칙을 따릅니다:
collation 이름은 연관된 문자 집합의 이름으로 시작하며, 일반적으로 하나 이상의 suffix가 뒤따르며 다른 collation 특성을 나타냅니다. 예를 들어, utf8mb4_0900_ai_ci 와
latin1_swedish_ci 는 각각
utf8mb4 와 latin1
문자 집합에 대한 collation입니다. binary
문자 집합에는 suffix가 없는 단일 collation
binary 만 있습니다.
특정 언어에 대한 collation은 로케일 코드 또는 언어 이름을 포함합니다. 예를 들어,
utf8mb4_tr_0900_ai_ci 와
utf8mb4_hu_0900_ai_ci 는
utf8mb4 문자 집합의 문자를 각각
터키어와 헝가리어 규칙에 따라 정렬합니다.
utf8mb4_turkish_ci 와
utf8mb4_hungarian_ci 는 유사하지만,
더 이전 버전의 Unicode Collation Algorithm에 기반합니다.
collation suffix는 collation이 대소문자 구분, 악센트 구분, 가나 구분 (또는 이들의 조합), 또는 이진(binary)인지 여부를 나타냅니다. 다음 표는 이러한 특성을 나타내는 suffix를 보여줍니다.
Table 12.1 Collation Suffix Meanings
| Suffix | Meaning |
|---|---|
_ai | Accent-insensitive |
_as | Accent-sensitive |
_ci | Case-insensitive |
_cs | Case-sensitive |
_ks | Kana-sensitive |
_bin | Binary |
악센트 민감도를 명시하지 않는 nonbinary collation 이름의 경우, 악센트 민감도는 대소문자 민감도에 의해 결정됩니다. collation 이름에 _ai 또는
_as 가 없으면, 이름에 있는 _ci 는 _ai 를 의미하고,
이름에 있는 _cs 는 _as 를 의미합니다. 예를 들어,
latin1_general_ci 는 명시적으로
대소문자 구분을 하지 않고 묵시적으로 악센트 구분을 하지 않으며,
latin1_general_cs 는 명시적으로
대소문자 구분을 하고 묵시적으로 악센트 구분을 합니다. 또한
utf8mb4_0900_ai_ci 는 명시적으로
대소문자 구분을 하지 않고 악센트 구분을 하지 않습니다.
일본어 collation의 경우, _ks suffix는 해당 collation이 가나 구분을 함을 나타냅니다. 즉, 가타카나 문자와 히라가나 문자를 구분합니다. _ks
suffix가 없는 일본어 collation은 가나 구분을 하지 않으며, 정렬 시 가타카나와 히라가나 문자를 동일하게 처리합니다.
binary 문자 집합의 binary collation에 대해서는, 비교가 숫자 바이트 값에 기반합니다. nonbinary 문자 집합의
_bin collation에 대해서는, 비교가 숫자 문자 코드 값에 기반하며, 멀티바이트 문자에 대해서는 이러한 값이 바이트 값과 다릅니다. binary 문자 집합의
binary collation과 nonbinary 문자 집합의
_bin collation 간의 차이에 대한 정보는 Section 12.8.5, “The binary Collation Compared to _bin Collations”을 참조하십시오.
Unicode 문자 집합의 collation 이름에는 collation이 기반하고 있는 Unicode Collation Algorithm (UCA) 버전을 나타내기 위해 버전 번호가 포함될 수 있습니다. 이름에 버전 번호가 없는 UCA 기반 collation은 version-4.0.0 UCA weight key를 사용합니다. 예:
utf8mb4_0900_ai_ci 는
UCA 9.0.0 weight key에 기반합니다
( http://www.unicode.org/Public/UCA/9.0.0/allkeys.txt ).
utf8mb4_unicode_520_ci 는
UCA 5.2.0 weight key에 기반합니다
( http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt ).
utf8mb4_unicode_ci (버전이 명시되지 않은 경우)는
UCA 4.0.0 weight key에 기반합니다
( http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt ).
Unicode 문자 집합의 경우,
xxx_general_mysql500_ci
collation은 원래 xxx_general_ci
collation의 pre-5.1.24 ordering을 보존하며,
MySQL 5.1.24 이전에 생성된 테이블을 업그레이드할 수 있도록 합니다 (Bug #27877).
12.3 Specifying Character Sets and Collations
12.3.2 Server Character Set and Collation