相信很多人都有疑问:
在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用 utf8_general_ci
而不是 utf8_unicode_ci
呢?
其实,这是因为他们的差别主要在德语和法语上。对德语和法语来说使用unicode比general更准确一些(按照德语和法语的标准来说,在对比或者排序上更准确)。所以对于我们中国人来说,一般使用general,因为general更快。
另外,utf8_bin_ci也是比较常用的,在字符对比时,unicode和general都不是大小写敏感的,所以如果要求大小写敏感的话,就使用 utf8_bin_ci 。