악센트 없이 악센트가 있는 지명 자동 완성
데이터 관리 영역에서 국제 지명을 처리할 때 종종 문제가 발생합니다. 악센트가 옵니다. 사용자가 악센트 없이 쿼리를 입력하면 데이터베이스에서 일치하는 레코드를 찾는 것이 문제가 될 수 있습니다.
이 문제를 해결하려면 악센트 표시에 관계없이 문자 동일성을 보장하는 MySQL의 기능인 대조를 활용하는 것이 좋습니다. 관련 열에 대한 적절한 데이터 정렬을 설정하면 비교 중에 악센트가 있는 값과 악센트가 없는 값이 동일한 것으로 간주됩니다.
MySQL에서 이 솔루션을 구현하는 방법은 다음과 같습니다.
SET NAMES 'utf8' COLLATE 'utf8_unicode_ci';
이 쿼리는 유니코드 대소문자를 구분하지 않는 비교(utf8_unicode_ci)를 사용하기 위한 현재 세션의 데이터 정렬입니다. 결과적으로 악센트는 더 이상 문자의 동등성에 영향을 미치지 않습니다.
설명하기 위해 다음 예를 고려하십시오.
SELECT 'é' = 'e';
utf8_unicode_ci 데이터 정렬을 적용하면 이 쿼리는 1을 반환합니다. 악센트가 있는 문자 'é'는 악센트가 없는 문자 'e'와 동일합니다.
이렇게 하면 자동 완성 위젯이 사용자가 악센트가 있는 버전을 입력하든, 악센트가 없는 버전을 입력하든 상관없이 장소 이름을 쉽게 검색하고 표시할 수 있습니다.
위 내용은 악센트 없이 MySQL에서 악센트 장소 이름을 자동 완성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!