带有变音符号的 Android sqlite 查询名称

标签 android sqlite

我有以下问题: 我尝试从数据库中查询包含带变音符号的字符的名称。

选择是:

String like = "ë";
String selection = "LOWER(name) LIKE \"%" + like + "%\"";

问题是即使我有包含“È”的行,查询也是空的。有任何想法吗? 而且我不想为规范化名称建立一个单独的列。

最佳答案

来自 SQLite DOC :-

(一个错误:默认情况下,SQLite 只理解 ASCII 字符的大写/小写。对于超出 ASCII 范围的 unicode 字符,LIKE 运算符默认区分大小写。例如,表达式 ' a' LIKE 'A' 是 TRUE 但 'æ' LIKE 'Æ' 是 FALSE。)


因此,您应该在使用 with like 之前替换变音符号。 Remove diacritics from string in Java这样做很好。或者单独使用小写字母和任一字母。

关于带有变音符号的 Android sqlite 查询名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19488622/

相关文章:

android - 调用 HP ePrint Android 应用程序

android - 如何触发 Gradle 上的最小任务以运行 apt 插件

java - 常见错误 - org.sqlite.JDBC

android - 无法从数据库加载图像;只显示网址

java - Android SQLite 查询在选择器中有问号,在 selectionArgs 中有空

python - SQLAlchemy.exc.OperationalError : (sqlite3. OperationalError)没有这样的表:用户

ListFragment 中的 Android ListView header 在按下后退按钮时崩溃

android - fragment 内的 GraphView 不显示 X 和 Y 标签

Android Studio/com.android.support :appcompat-v7:27. 1.1 红色下划线

java - SQLite 连接列表