![]() | 1 noe132 2017-05-14 12:21:02 +08:00 理应是不区分大小写的。 |
![]() | 2 noe132 2017-05-14 12:21:37 +08:00 ![]() 比如邮箱,不能说小写是一个账号,大写是另一个账号吧 |
![]() | 3 IanPeverell 2017-05-14 12:22:24 +08:00 一般存储前都会 lowercase 处理一下的吧…… |
![]() | 4 geelaw 2017-05-14 12:31:17 +08:00 ![]() 取决于你怎么设计这个系统。 大多数账号系统都是大小写保持、大小写不敏感的。 不过你会遇到一些恶心的问题,比如“大小写不敏感地相等”这件事情很模糊,你需要指定一个 locale。 |
![]() | 5 imn1 2017-05-14 12:32:24 +08:00 我还想把 s1 和 sl 当同一个帐号呢 |
![]() | 6 murmur 2017-05-14 12:36:15 +08:00 ![]() 如果是企业应用推荐不区分大小写而且一定要 trim |
7 FunctionOne OP @murmur 请问 trim 是进行怎样的操作? |
![]() | 8 murmur 2017-05-14 13:02:45 +08:00 ![]() @FunctionOne 去除首尾的空格 |
![]() | 9 realpg PRO ![]() 基本用 mysql 存储 字符集就用不分大小写的 方便 |
![]() | 10 run2 2017-05-14 13:12:44 +08:00 ![]() 程序里 数据库里都处理成一个 不然区分大小写的话会出现很多假冒的 id 因为还有 aBc ABc 等等等等 。。。。 |
![]() | 11 Mutoo 2017-05-14 13:38:34 +08:00 ![]() 不要让骗子有机可趁。建议使用大小写不敏感的系统。 |
![]() | 12 nodin 2017-05-14 13:38:42 +08:00 via iPhone ![]() 账户体系总要有容错率的,大小写不区分,I、l、1 等同处理。 |
13 FunctionOne OP @nodin 非常感谢这个建议。 |
![]() | 14 hzwei 2017-05-14 14:08:22 +08:00 via Android ![]() 如果不区分大小写,仅仅“ ABCDEFG ”的账号会出现 2 的 7 次方个,这样整个账号系统会很混乱。 |
16 Mitt 2017-05-14 18:39:28 +08:00 不要试图给自己找麻烦,远离一切大小写坑 |
17 zhaoxiting1997 2017-05-14 18:45:23 +08:00 我记得之前 V2EX 就出过一个伪造的小写 livid,后面好像被发现了,删掉了。 |
![]() | 18 hinate 2017-05-14 19:21:53 +08:00 via iPhone 不要区分,不然会出现高仿号... |
![]() | 19 lslqtz 2017-05-14 20:37:33 +08:00 ![]() 不要区分,但是保存时应该按照大小写来保存。 然后 trim 是要的,但是不建议对 l1i 做等同处理。 |
![]() | 20 chanssl 2017-05-14 21:48:55 +08:00 @zhaoxiting1997 #17 BXIA 和 BXlA |
![]() | 21 GoBeyond 2017-05-15 05:59:06 +08:00 via Android 不想弄出一堆假冒 id 就不要这么做 |