MySQL连接校对:utf8_general_ci与utf8_unicode_ci有什么区别呢


如题,在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用 utf8_general_ci 而不是 utf8_unicode_ci 呢?

utf-8 mysql unicode

苏芳帕夫利切科 10 years, 4 months ago

区别在于字符对比上

请看mysql上面的例子:

对与general来说 ß = s 是为true的

但是对于unicode来说 ß = ss 才是为true的,

其实他们的差别主要在德语和法语上,所以对于我们中国人来说,一般使用general,因为general更快

如果你对德语和法语的对比有更高的要求,才使用unicode,它比general更准确一些(按照德语和法语的标准来说,在对比或者排序上更准确)

看看这个文档: http://dev.mysql.com/doc/refman/5.0/e...

另外还有utf8_bin_ci也是比较常用的哦,在字符对比时,unicode和general都不是大小写敏感的,所以如果要求大小写敏感的话,就使用bin

64兆显卡 answered 10 years, 4 months ago

Your Answer