답변:
문자 집합 은 기호 목록입니다. 당신이 비교하는 경우 ASCII를 에 라틴어 와 라틴 당신이 때문에 모든 미국 단어를 쓸 수 있습니다 라틴 모든 포함 ASCII의 모든 영어 단어를 쓰기에 충분하다 문자를. 반대로 ASCII 를 사용하면 예를 들어 'À', 'ë', 'õ', 'Ñ'과 같은 문자가 없기 때문에 서유럽 특정 언어의 모든 단어를 쓸 수 없습니다.
데이터 정렬 은 문자 간의 비교에 관한 것입니다. 문자 세트의 문자를 비교하는 규칙 세트를 정의합니다.
MySQL에서 데이터 정렬은 종종 한 언어 (예 : 'latin1_swedish_ci', 'latin1_german1_ci'등)와 관련이 있습니다. 선택 쿼리를 주문하면 'ö'로 시작하는 단어가 'o'와 'p'로 시작하는 두 단어 사이에 일부 언어 (일부 데이터 정렬)가 표시됩니다. 그러나 다른 데이터 정렬을 사용하면이 문자가 완전히 끝에 배치되어 결과 선택이 달라집니다.
이전 답변과 같이 문자 집합은 숫자에 지정된 문자 (문자, 숫자, 표의 문자 등)입니다. 그것들을 볼 수 있으려면 폰트 (작은 "사진")가 있어야합니다. 각 X에 대해 동일한 숫자 (바이트)가 다른 문자를 나타낼 수 있기 때문에 LatinX를 사용하는 것이 중요했습니다.
요즘에는 인코딩을 선택하는 것이 더 중요합니다. 표준은 UTF-8, 유니 코드의 가장 성공적인 표현 (ASCII와 호환 가능하지만 모든 언어, 중국어 및 일본어를 포함하여 유연함) 및 W3C 표준입니다. 즉, 모든 문자 세트를 포함합니다.
데이터 정렬 : 라틴어에서 파생 된 구식 단어입니다. 의미 : 사본 (원고)을 원본과 비교하여 차이점 (오류 또는 변경)을 찾으십시오. 과거에는 매우 유용했지만 이제는 문서와 책이 컴퓨터를 사용하여 작성되고 사본이 항상 원본과 동일하기 때문에 거의 구식입니다. 예 : 이탈리아어 (라틴어에서 파생)에는 동사 "collazionare"가 있지만 사전에 있으며 아무도 사용하지 않습니다.
따라서 데이터 정렬은 비교 연산자의 동작을 정의합니다. =,>, <, <=,> = ...
물론이 연산자는 두 문자열이 같은지 또는 한 단어가 다른 문자열보다 "큰"지를 결정하는 데 사용되며, 정렬하려는 경우 매우 중요합니다. 문자는 모든 언어에 대해 동일한 순서를 갖지 않으므로 한 단어는 데이터 정렬을 사용하는 다른 단어보다 클 수 있지만 다른 언어를 사용하는 것은 아닙니다. 실제 예는 [1]을 참조하십시오.
"bin"데이터 정렬이 가장 엄격합니다. SELECT "b"= "B"=> FALSE
"ci"데이터 정렬은 대소 문자를 구분하지 않습니다. SELECT "b"= "B"=> TRUE
"일반"은 몇 가지 차이점을 무시하는 경향이 있습니다. SELECT "a"= "à"=> TRUE
다른 언어는 하나 이상의 언어에 따라 다릅니다. "스웨덴어"예 (스웨덴이 종종 기본 설정 인 이유를 모르겠습니다)
나는 여전히 모든 데이터 정렬의 동작이 자세하게 설명되어있는 웹 사이트를 찾고 있습니다. 이러한 예제는 내 경험 때문입니다.