1、如果引用要处理各种各样的文字,或者将发布到使用不同语言的国家或地区,就应该选择Unicode字符集。对于MySQL来说,目前就是UTF-8
2、如果应用中涉及已有数据的导入,就需要充分考虑字符集对已有数据的兼容性
3、如果数据库只需要支持一般中文,数据量很大,性能要求也很高,可以选择双字节定长编码的中文字符集,比如GBK
4、如果数据库需要做大量的字符运算,如比较、排序等,那么选择定长字符集可能更好,因为定长字符集的处理速度要比变长字符集的处理速度快
5、MySQL服务器可以支持多种字符集,在同一台服务器、同一个数据库甚至同一个表的不同字段都可以指定使用不同的字符集(Oracle等其他数据库系统在同一个数据库只能使用相同的字符集)
-- 查看所有可用字符集
show character set;
6、MySQL的字符集包括字符集和校对规则两个概念;字符集用来定义MySQL存储字符串的方式,校对规则用来定义比较字符串的方式;字符集和校对规则是一对多的关系