相关疑难解决方法(0)

如何在SQLite查询中忽略重音(Android)

我是Android的新手,我正在使用SQLite进行查询.我的问题是,当我在字符串中使用重音时,例如

  • AAA
  • AAA
  • AAA
  • AAA
  • AAA
  • AAA

如果我做:

SELECT * FROM TB_MOVIE WHERE MOVIE_NAME LIKE '%a%' ORDER BY MOVIE_NAME;
Run Code Online (Sandbox Code Playgroud)

回归:

  • AAA
  • aaa(它忽略了其他人)

但如果我这样做:

SELECT * FROM TB_MOVIE WHERE MOVIE_NAME LIKE '%à%' ORDER BY MOVIE_NAME;
Run Code Online (Sandbox Code Playgroud)

回归:

  • ààà(忽略标题"ÀÀÀ")

我想在SQLite数据库中选择字符串而不关心重音和大小写.请帮忙.

sqlite android diacritics

20
推荐指数
2
解决办法
1万
查看次数

在Android SQLite中使用COLLATE - 在LIKE语句中忽略Locales

在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.

database sqlite android locale collate

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×2

sqlite ×2

collate ×1

database ×1

diacritics ×1

locale ×1