简体   繁体   English

Android中大写字母区分大小写

[英]Capital letter sensitive case in android

In my MYSQL database saved email is jiaweitan05@gmail.com . 在我的MYSQL数据库中,保存的电子邮件为jiaweitan05@gmail.com When I login with all capital case for email like JIAWEITAN05@GMAIL.COM it is succesfully login since every letter is correct. 当我使用大写字母登录电子邮件(例如JIAWEITAN05@GMAIL.COM ,由于每个字母都是正确的,因此可以成功登录。 But how should I do for capital sensitive case for email input. 但是我应该如何处理对大写敏感的电子邮件输入。 So that when JIAWEITAN05@GMAIL.COM of user input while comparing SQL query with small capital jiaweitan05@gmail.com is not match because of capital case sensitive. 因此,当用户输入的JIAWEITAN05@GMAIL.COM在将SQL查询与小写大写字母进行比较时,由于大写字母区分大小写,因此不匹配jiaweitan05@gmail.com Or should I consider of implement this feature? 还是应该考虑实现此功能?

You can check the whether the email contains capital letter like this : 您可以检查电子邮件中是否包含大写字母,如下所示:

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
    }

你可以尝试像

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

Try using case-insensitive collation . 尝试使用case-insensitive collation To c ause a case-sensitive comparison of nonbinary strings to be case insensitive, use COLLATE to name a case-insensitive collation 到c ause a区分大小写comparison of非二进制串to be case insensitive, use COLLATE仅举区分大小写排序

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

You have to change your column name 您必须更改列名

email varchar(size) collate utf8_bin

A binary string is case sensitive in comparisons. 在比较中,二进制字符串区分大小写。 To compare the string as case insensitive, convert it to a nonbinary string and use COLLATE to name a case-insensitive collation 要将字符串比较为不区分大小写,请将其转换nonbinary字符串,然后使用COLLATE命名不区分大小写的排序规则

Example: 例:

mysql>SET @s = BINARY 'aBcD';
mysql> SELECT @s, LOWER(@s), UPPER(@s);

+------+-----------+-----------+
| @s   | LOWER(@s) | UPPER(@s) |
+------+-----------+-----------+
| aBcD | abcd      | ABCD      |
+------+-----------+-----------+

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM