[mysql] UTF-8 : 일반? 큰 상자? 유니 코드?


1 Answers

또한 'a'와 'á'와 같은 2 개의 값을 삽입하는 고유 색인 또는 기본 색인으로 varchar 필드를 사용하면 utf8_general_ci에서 중복 키 오류가 발생한다는 사실을 알고 있어야합니다.

Question

다양한 유형의 데이터에 대해 사용해야하는 조합을 파악하려고합니다. 내가 저장할 콘텐츠의 100 %는 사용자가 제출 한 것입니다.

내 이해는 UTF-8 이진 대신 UTF-8 일반 CI (대소 문자를 구분하지 않음)를 사용해야한다는 것입니다. 그러나 UTF-8 일반 CI와 UTF-8 Unicode CI를 명확하게 구분할 수는 없습니다.

  1. UTF-8 일반 또는 UTF-8 유니 코드 CI 열에 사용자 제출 콘텐츠를 저장해야합니까?
  2. UTF-8 바이너리는 어떤 유형의 데이터에 적용될 수 있습니까?



정말로 ' 고유 한 인덱스가있는 열에'é '및'e '와 같은 값을 저장했는데'utf8_unicode_ci '및'utf8_general_ci '에서 중복 오류가 발생합니다. 'utf8_bin'조합 열에 만 저장할 수 있습니다.

그리고 mysql docs ( http://dev.mysql.com/doc/refman/5.7/en/charset-applications.html )는 예제에서 'utf8_general_ci'데이터 정렬을 제안합니다.

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci





Related