更具体地说,我正在为Android编写类似字典的应用程序,并且想要在其中查询带有变音字符(ä,ü,ö)的单词,而无需用户输入它们。例如,如果用户搜索“aufhoren”,则查询应返回“aufhören”。
我的解决方案
我能想到的最佳解决方案是在查询之前用'_'替换可能的变音字符,但这会引入以下问题:如果用户输入类似“schatzen”的内容,则查询也会包含类似的但是不相关的单词“schützen”而不仅仅是“schätzen”。我也想用ß替换s,但因为它不是元音,所以不会产生错误的查询。
我找到的其他解决方案
无法正常工作。根据{{3}},它不像'%term%'那样有效,这使得它变得毫无用处。
String query = "select * from worterbuch where wort like '%" + constraint.toString() + "%' order by wort collate localized";
db.setLocale(Locale.GERMANY);
res = db.rawQuery(query,null);