【发布时间】:2015-06-06 16:34:53
【问题描述】:
我想检查用户名是否被占用,但 eloquent 对我来说很奇怪...... 在我的数据库中,只注册了一个用户,用户名是 yigitabi
当我尝试获取用户名是 yigitabi 的用户时,它会返回该行但是 当我尝试获取用户名是 yiğitabi 的用户时,它返回同一行...
我已经尝试过查询日志,我的两个查询日志在这里...
array(1) { [0]=> array(3) { ["query"]=> string(42) "select * from `users` where `username` = ?" ["bindings"]=> array(1) { [0]=> string(9) "yiğitabi" } ["time"]=> float(0.24) } }
array(1) { [0]=> array(3) { ["query"]=> string(42) "select * from `users` where `username` = ?" ["bindings"]=> array(1) { [0]=> string(9) "yigitabi" } ["time"]=> float(0.24) } }
我该如何解决这种情况?
【问题讨论】:
-
如果您当前的数据库排序规则不是 UTF 8,请尝试将其设置为 utf_8_unicode_ci
-
@chanafdo 所有表都是 utf_8_unicode_ci 我将 db 更改为 utf_8_unicode_ci 但没有任何改变
-
对不起我之前的评论。尝试将其设置为
utf_8_bin。 -
@chanafdo 还是一样。
-
你是否在 Laravel 配置中将数据库的排序规则更改为上述?如果不改后试试。