1

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

选择是:

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

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

4

2 回答 2

2

来自SQLite 文档:-

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


因此,您应该在使用 like 之前替换变音符号。从 Java 中的字符串中删除变音符号是很好的做法。或者使用小写字母和两种情况分开。

于 2013-10-21T07:38:56.463 回答
-1

试试这个

字符串选择 = "LOWER(name) LIKE \"'%" + like + "%'\"";

于 2013-10-21T07:39:58.327 回答