[英]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.