2015-03-18 1 views
2

В моей базе данных у меня был один столбец как имя, где в этом столбце есть имя всех названий рецептов с английским и французским символами. Когда я искать строку типа запроса:Как искать специальный символ, как французский символ из базы данных SQLite

Select recipe.name from recipe_table where name LIKE = %crepe% 

это не дает мне никакого результата. Но он должен вернуть один результат: «crèpes»

Мне нужен: поиск по английскому алфавиту и дайте мне результат всего английского + французского алфавита, это означает все результаты.

заблаговременно.

+0

буксировка ... один, используйте знак как есть. два. Забудьте caracter и положите '_' (односимвольный символ). – eduyayo

ответ

0

Прежде всего, я считаю, что кодирование базы данных должно быть UTF-8.

Тогда:

Select recipe.name from recipe_table where name LIKE = %crepe% 

будет найти какое-либо значение, которые имеют «креп» в любом положении, и вам нужен «Креп». Возможно, вы можете изменить французские символы на _.

Select recipe.name from recipe_table where name LIKE = %cr_pe% 

Но я не уверен.

Также есть некоторые решения: 1) Попробуйте найти, как перестроить sqlite android с поддержкой icu. 2) Or use custom cursor wrapper like this

2

Вместо поиска испанского символа я создал еще одну колонку как name2, где я конвертирую все испанское имя в английское имя.

И затем я ищу английских символов из колонки name2.

Смежные вопросы