2012-07-03 1 views
1

이 주제에 대한 모든 토론에도 불구하고 데이터 정렬과 관련된 문제를 해결할 수 없습니다. mysql의 데이터 정렬에 대해 혼동이 있음

  1. 가와 DB를 만든 :

    테이블이 사용자에게 전화를 다음과 같은 데이터를 삽입 만든
    CREATE DATABASE Desk_Database CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; 
    
  2. : 그것은 하나를 제공하는 다음 쿼리를 사용하는 경우 이제

    INSERT INTO Users 
        (KlantGroep, TypeUser, Naam, Password) 
    VALUES ("BNOF", "Manager", "André", "kkk"); 
    
    INSERT INTO Users 
        (KlantGroep, TypeUser, Naam, Password) 
    VALUES ("BNOF", "User", "Ingrid", "ppp"); 
    

을 행을 되 찾으십시오. 그러나 AndréAndre과 다르므로 행을 찾을 수 없습니다.

이해할 수없는 것은 무엇입니까? 나는 utf8_unicode_cie에 악센트를 버리지 않을 것이라고 생각했지만 분명히 그랬습니다.

답변

1

this discussion here을 참조하십시오. 이 토론을 바탕으로 데이터 정렬을 utf8_bin으로 설정하는 데 도움이 될 수 있지만 기본 OS 자체의 설정과 충돌 할 수도 있습니다. "안드레"와 "앙드레"해당 utf8_unicode_ci에 따라됩니다 HTH

+0

나는 이것을 고려했다. 그러나 나는 OS에서 어디에서 시작할 지 모른다. Windows 7 Enterprise 32 비트, 네덜란드어를 사용합니다. – eengebruiker

+0

Windows 7에서는 UTF8을 기본 OS 인코딩으로 허용하지 않으므로 문제가되는지 궁금합니다. 테스트 용으로 Unix/Linux 서버에 액세스 할 수 있다면이 문제가 해결되었는지 궁금 할 것입니다. 이것은 ServerFault 또는 수퍼 유저에게 더 적합한 토론 일 것 같습니다. – davidethell

+0

두 개의 주어진 행으로 채워진 표를 사용하면 더 이상 'André'또는 'Andre'가 아닌 행을 추가 할 수 없습니다. 그것은 'Andre'를 받아 들여야하지만 그렇지 않습니다. 나는 당신이 나에게 지적한 토론에서 옳은 물건을 뜯어 먹을 영리한 enougth가 아닐까 걱정됩니다. 유닉스 서버로 전환하는 것은 지금 나를위한 옵션이 아니다. Windows 7을 사용할 때 선호하는 데이터 정렬 및 문자 집합이 있습니까? – eengebruiker

1

이 예상되는 동작입니다

. 악센트는 버려지지 않고, 두 문자열을 비교할 때 e와 é가 같다고 간주됩니다.

두 가지를 고려하려면 다른 데이터 정렬을 사용해야합니다 (예 : utf8_bin).

+0

감사합니다. 내일 계속해야합니다. – eengebruiker