我是Android的新手,我正在使用SQLite进行查询.我的问题是,当我在字符串中使用重音时,例如
如果我做:
SELECT * FROM TB_MOVIE WHERE MOVIE_NAME LIKE '%a%' ORDER BY MOVIE_NAME;
Run Code Online (Sandbox Code Playgroud)
回归:
但如果我这样做:
SELECT * FROM TB_MOVIE WHERE MOVIE_NAME LIKE '%à%' ORDER BY MOVIE_NAME;
Run Code Online (Sandbox Code Playgroud)
回归:
我想在SQLite数据库中选择字符串而不关心重音和大小写.请帮忙.
在Android中创建SQLite数据库时,我设置了数据库语言环境 - db.setLocale(new Locale("cz_CZ")).这是一个捷克语的地方.
SELECT语句起作用并考虑区域设置,例如:
SELECT * from table WHERE name='sctzy' COLLATE LOCALIZED
Run Code Online (Sandbox Code Playgroud)
会找到条目'ščťžý'.
但使用LIKE将失败:
SELECT * from table WHERE name LIKE '%sctzy%' COLLATE LOCALIZED
Run Code Online (Sandbox Code Playgroud)
没有返回任何行.
BTW.Android中没有java.text.Normalized类.我以为我可以用标准化的文本制作第二列,删除特殊字符,这些字符将用于搜索 - 但我缺少一个类或方法如何规范化String.