如题,在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_general_ci
而不是utf8_unicode_ci
呢?
如题,在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_general_ci
而不是utf8_unicode_ci
呢?
2 回答6.7k 阅读✓ 已解决
2 回答7.4k 阅读✓ 已解决
2 回答6.6k 阅读✓ 已解决
1 回答5.2k 阅读✓ 已解决
1 回答5k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
区别在于字符对比上
请看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