2011-04-18 6 views
0

고객의 데이터 (SQL Server 2005)에는 html 엔티티가 있습니다 (é -> & eacute;).html 엔티티가있는 필드에서 검색

해당 필드를 검색해야하므로 "퀘스트"를 검색하면 "´ quipe"가 검색됩니다.

고객의 고객이 해당 필드를 (HTML 편집기를 사용하여) 편집 할 수 있기 때문에 데이터를 변경할 수 없으므로 엔티티를 제거하면 다음 편집에서 다시 나타날 수 있으며 문제는 계속 될 수 있습니다. 그곳에.
행이 서버로 리턴되기 전에 행을 찾아야하기 때문에 .net 서버 측 함수를 사용할 수 없습니다.

엔티티를 UTF-8 형식으로 대체하는 기능을 사용 하겠지만, 일종의 성가신 일이며, 검색 성능이 심각하게 떨어지는 것으로 생각됩니다.

아이디어가 있으십니까?

감사합니다.

답변

1

들어오는 검색어 만 검사하고 인코딩하면됩니다. "équipe"을 "équipe"으로 변환하고 WHERE/FTS 절에서 사용하면 옵티마이 저가 적절하다고 판단 할 경우 해당 필드의 모든 색인을 계속 사용할 수 있습니다.

+0

감사합니다. 나는 생각하지 않았습니다. – thomasb

관련 문제