我正在使用utf8_general_ci作为字符集在MySQL中构建用户表。
1-)使用这个charset两个用户名为一个Bob而另一个bob看起来是一样的吧?我不知道这可能会导致一些问题,或者是否最好避免用户名为egual而是一个大写而另一个小写
2-)在许多网站中,我注意到他们只接受带有字母a到z的用户名,他们不接受中文,西里尔文或其他类型的信件。这是有原因的吗?我的应用程序将向全世界的用户开放,尽管它只能用某些语言进行翻译
答案 0 :(得分:1)
CI
中的utf8_general_ci
表示不区分大小写,因此Bob
和bob
相同(已更新)。SOUNDEX()
)。 因此,如果他们接受中文和其他语言,如日语,韩语,西里尔语,他们可能会处理搜索问题。
或者如果他们的现有数据库使用latin1,他们的数据库无法正确存储Unicode,因为Unicode需要3个字节,而latin1只有单个字节。
答案 1 :(得分:1)
1)他们并没有什么不同。
2)根据我的语言经验,我们从不让用户输入一些单词,因为我们在查找确切记录时会遇到问题。示例:ی
是波斯语单词,但在阿拉伯语中,我们再次使用此单词但在其下面有两个点。请注意,这是搜索中可能出现的问题,因为某些键盘会输入不同的ی
s!
希望这对你有所帮助。