android中区分大写字母的大小写



在我的MYSQL数据库中,保存的电子邮件是jiaweitan05@gmail.com。当我用大写字母登录像JIAWEITAN05@GMAIL.COM这样的电子邮件时,它是成功登录的,因为每个字母都是正确的。但是我应该如何处理大写字母敏感的电子邮件输入情况。因此当JIAWEITAN05@GMAIL.COM将SQL查询与小资本进行比较时的用户输入jiaweitan05@gmail.com不匹配,因为区分大小写。或者我应该考虑实现这个功能吗?

您可以检查电子邮件是否包含这样的大写字母:

boolean isUpperCase =false;
for(int i=0;i<string.length;i++)
{
  isUpperCase = Character.isUpperCase("My String".charAt(i));
}
 if(isUpperCase==true)
    {
    // give error to user
    }

尝试使用case-insensitive collation。将ause a区分大小写的comparison of非二进制字符串to be case insensitive, use COLLATE命名为不区分大小写排序规则

Select * from table
where email = 'JIAWEITAN05@GMAIL.COM' collate utf8_bin

你必须更改你的列名

email varchar(size) collate utf8_bin

二进制字符串在比较中区分大小写。要将字符串比较为不区分大小写,请将其转换为nonbinary字符串,并使用COLLATE将不区分大小字母的排序规则命名为

示例:

mysql>SET @s = BINARY 'aBcD';
mysql> SELECT @s, LOWER(@s), UPPER(@s);
+------+-----------+-----------+
| @s   | LOWER(@s) | UPPER(@s) |
+------+-----------+-----------+
| aBcD | abcd      | ABCD      |
+------+-----------+-----------+

您可以尝试类似的东西

SELECT * FROM table_name WHERE UPPER(column_name) = UPPER('jiaweitan05@gmail.com')

相关内容

  • 没有找到相关文章

最新更新