2013-08-05 5 views
0

한 손으로 사용할 수있는 MySQL UTF8 데이터 정렬은 'Hello'== 'hello'를 지원하지만 다른 한편으로는 비교에서 움라우트를 무시하지 않습니다 (' h'llö '! ='hallo ')?독일어 움라우트에 사용할 MySQL UTF8 데이터 정렬

utf8_unicode_ci/utf8_general_ci는 전자는 수행하지만 후자는 수행하지 않는 것처럼 보이지만 utf8_bin은 전자를 수행하지만 이전은 수행하지 않습니다.

언뜻 utf8_swedish_ci가 작동하는 것처럼 보이지만, 다른 문제가 발생하지 않는지 확실하지 않습니다.

여기에서 가장 좋은 방법은 무엇입니까? 비교

+1

'utf8_swedish_ci'는 독일에서 가장 많이 사용되는 데이터 정렬입니다. (비록 참조 : P) –

+0

당신이 묘사 한 것을 어느 조합이하는지 모르겠으므로이 글을 덧붙여서 올리십시오. 그러나 필요로하는 조합이 실제로 존재하지 않는 경우에는 필요에 맞게 기존의 것을 수정할 수 있습니다. ? –

답변

0

대소 문자 구분 검색 및 NOT 무시 움라우트 utf8_swedish_ci에 모두 작업 :

mysql> CREATE TABLE users (
    id INT(11) default NULL auto_increment, 
    name varchar(60) NOT NULL, 
    PRIMARY KEY (id), 
    UNIQUE KEY name(name) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_swedish_ci; 

Query OK, 0 rows affected (0.13 sec) 

mysql> INSERT INTO `users` (`name`) VALUES ('Hello'), ('hällö'); 
Query OK, 2 rows affected (0.10 sec) 
Records: 2 Duplicates: 0 Warnings: 0 

mysql> SELECT * FROM users WHERE name='hello'; 
+----+-------+ 
| id | name | 
+----+-------+ 
| 1 | Hello | 
+----+-------+ 
1 row in set (0.00 sec) 

mysql> SELECT * FROM users WHERE name='hallo'; 
Empty set (0.00 sec) 
+0

정확히,하지만 나는 움라우트를 무시하고 싶지 않습니다. – Nils

+0

@Nils 죄송합니다. 처음에는 그리워하지 않았습니다. 답변이 업데이트되었습니다. utf8_swedish_ci는 원하는대로 정확하게 작동합니다. – user4035

관련 문제