2010-08-06 2 views
2

내가 미쳤다고 생각하기 때문에 도와주세요.필드에 '(작은 따옴표) 문자가 포함되어있을 때 핵심 데이터 검색

많은 수천 개의 레코드가 포함 된 핵심 데이터 컬렉션이 있습니다. 이 레코드의 일부 필드에는 따옴표가있는 용어가 들어 있습니다. XML에서 데이터베이스를 작성할 때 NAME 필드와 SORTFIELD 필드의 두 필드를 만들었습니다.

NAME 필드에는 전체 용어가 들어 있으며 응용 프로그램의 디스플레이 목적으로 이 사용됩니다.

SORTFIELD 필드는 NAME 필드와 동일한 내용을 포함하지만 은 소문자로 변환되고 작은 따옴표 문자는 모두 이 제거되어 다음을 사용합니다. 사용자가 검색하고자하는 문자열을 입력하면

[NSString stringByReplacingOccurrencesOfString:@"'" withString:@""]; 

, 우리가 입력 한 검색 문자열에서 작은 따옴표를 제거하고 데이터를 생성 할 때와 같은 방법을 사용하여 소문자 로 변환 . 그러나 결과를 찾지 못했습니다. 사용자가 마이클의이 들어갔을 경우

, 시스템은 시스템은 모든 찾은 기록

사용자가 마이클 '(따옴표없이 년대'문자)를 입력하면 술어는 "SORTFIELD like 'michaels'"

입니다 찾는데 실패 마이클의

술어를 시작 기록은 우리가 매우 어리석은 일을하고감사하는 확신 "SORTFIELD like 'michael'"

입니다서클에서 을 돌면서이 문제를 해결하는 방법에 대한 도움말

검색 필드 및 레코드 필드의 실제 내용을 추적하고 예상대로 모든 NSLog 항목을 배치하여 표시합니다.

감사 마이크

답변

0

는 드디어 필드는 작은 따옴표가 존재하는 경우 가 아닌 디스플레이 특성을 가지고 검색되는 것을 찾는 문제를 해결. 의 경우 마이클이 표시되었지만 Michaelx의 x = 확장 ASCII 문자 인 경우 실제 내용이었습니다.

필드에서 이것을 제거하면 우리의 원래 게시에 설명 된대로 검색을 수행 할 수있었습니다.

그러나 '해킹'을 할 필요없이 작은 따옴표가 포함 된 문자열에 대해 핵심 데이터 컬렉션을 검색 할 수 있어야한다고 생각합니다.

다른 사람의 의견을 환영합니다.

감사합니다. 마이크

관련 문제