登录   注册

一个不起眼的MySQL字段编码大小写问题

PHP教程 xlch 1年前 (2017-06-30) 788次浏览 0个评论 扫描二维码

很多人设计数据表字段的时候,都用utf8_bin这个编码,这个编码是不区分大小写的。

但是在一些特殊情况,比如要以文件名的形式来存储用户信息,这样xlch和xlcH的用户信息就会搞混。

比如Minecraft,很多插件都是直接以“用户名.yml”这样的文件名存储用户数据。这样就造成了用户名大小写不同导致“串号”的问题。

 

解决这个办法很简单,只需要将编码设置为utf8_general_ci,这样就不区分大小写了,也就是在select查询的时候,将xlch和xlcH认定为同一个字段。

并且在执行insert语句进行添加的时候,如果存在xlch这个用户,那么添加xlcH就会失败。

 

但是,如果有些部分将xlch和xlcH认定为两个不同的人呢?

很简单,在登录的时候判断大小写即可,比如if($_GET[‘Username’]==$row[‘Username’])

这样就完美解决了串号的问题。


绚丽彩虹 , 版权所有丨如未注明 , 均为原创丨未经允许,禁止转载
喜欢 (2)
[pay3@xlch8.cn]
分享 (0)

您必须 登录 才能发表评论!