字符集为字母和符号的集合。编码为某个字符集成员的内部表示;校对为规定字符如何比较的指令。在MySQL的正常数据库活动(select、insert等)中,使用何种字符集和校对的决定在服务器、数据库和表级进行。
MySQL支持众多的字符集。为查看所支持的字符集完整列表,可以使用如下语句:
show character set; 这条语句显示所有可用的字符集以及每个字符集的描述和默认校对。
查看所支持校对的完整列表,可以使用如后语句: show collation; 此语句显示所用可用的校对,以及它们适用的字符集。而且许多校对出现两次,一次区分大小写(由_cs表示),一次不分区大小写(由_ci表示)。
一般地,MySQL如下确定使用什么样的字符集和校对。
1)如果指定character set和collate两者,则使用这些值。
2)如果只指定character set,则使用此字符集及其默认的校对。
3)如果即不指定character set,也不指定collate,则使用数据库默认。
最后,值得注意的是,如果绝对需要,串可以在字符集之间进行转换,为此,使用Cast()或Convent()函数。