2014-11-05 3 views
0

루마니아어 사전 데이터베이스가 있습니다. 단어 표에는 Word이라는 열이 있으며 utf8_romanian_ci 데이터 정렬입니다. 이 칼럼에서 나는 모든 말을 지킨다. 대부분의 루마니아어 단어는 구별 부호를 가지고 있습니다 : acasă, mâine ... 등.MySQL 구별 기호를 구분하지 않는 검색

나는 발음 구별을 무시하는 쿼리를 실행하려고합니다. 같은 뭔가 : 쿼리 전에

SET NAMES utf8; 

,하지만 작동하지 않습니다

SELECT * FROM WordList where Word = 'acasa' 

내가 시도

acasă 단어 를 반환해야합니다.

는 또한

SELECT * FROM WordList where Word = 'acasa' COLLATE utf8_bin 

을 그 중 하나가 작동하지 않는다 시도했다.

어떤 아이디어가 효과적일까요? COLLATE utf8_unicode_ci를 추가 할 수

답변

1

봅니다 쿼리합니다 :

SELECT * 
FROM WordList 
WHERE Word = _utf8 'acasa' COLLATE utf8_unicode_ci 

테스트

SQL Fiddle상세 정보 :

+0

작동하지 않습니다. 다음과 같은 메시지가 나옵니다. 'COLLATION'utf8_unicode_ci '는 CHARACTER SET'utf8mb4 '에 유효하지 않습니다.' –

+0

charset 추가 '_utf8'; 수정 된 답변을 참조하십시오. – Rimas

+0

훨씬 느리게 작동하는 것이 정상입니까? 내 테이블에 약 200.000 개의 레코드가 있고 400.000 정의의 테이블에 가입했습니다 ... 쿼리는 5.9184 초 (UTF 없이는 0.0175 초)가되었습니다 –

관련 문제