用户表的MySQL charset

时间:2011-12-26 11:38:17

标签: mysql character-encoding

我正在使用utf8_general_ci作为字符集在MySQL中构建用户表。

1-)使用这个charset两个用户名为一个Bob而另一个bob看起来是一样的吧?我不知道这可能会导致一些问题,或者是否最好避免用户名为egual而是一个大写而另一个小写

2-)在许多网站中,我注意到他们只接受带有字母a到z的用户名,他们不接受中文,西里尔文或其他类型的信件。这是有原因的吗?我的应用程序将向全世界的用户开放,尽管它​​只能用某些语言进行翻译

2 个答案:

答案 0 :(得分:1)

    CI中的
  1. utf8_general_ci表示不区分大小写,因此Bobbob相同(已更新)。
  2. 在我看来,我认为MySQL有一些只支持英语的功能(例如:SOUNDEX())。
  3. 因此,如果他们接受中文和其他语言,如日语,韩语,西里尔语,他们可能会处理搜索问题。

    或者如果他们的现有数据库使用latin1,他们的数据库无法正确存储Unicode,因为Unicode需要3个字节,而latin1只有单个字节。

答案 1 :(得分:1)

1)他们并没有什么不同。

2)根据我的语言经验,我们从不让用户输入一些单词,因为我们在查找确切记录时会遇到问题。示例:ی是波斯语单词,但在阿拉伯语中,我们再次使用此单词但在其下面有两个点。请注意,这是搜索中可能出现的问题,因为某些键盘会输入不同的ی s!

希望这对你有所帮助。