以下的文章主要描述的是对MySQL 字符集的正确认识,我们大家都知道MySQL数据库对于实际应用字符集的指定其是可以细化到一个数据库,一张表,一列,应该用什么字符集。MySQL字符集是理解过程 。
(1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;
(2)安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;
(3)启动MySQLd 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;
(4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
(5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
(6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
(7)当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;
3、MySQL字符集支持(Character Set Support)有两个方面:
字符集(Character set)和排序方式(Collation)
4、对于字符集的支持细化到四个层次:
服务器(server),数据库(database),数据表(table)和连接(connection)
5、查看系统的字符集和排序方式的设定可以通过下面的两条命令:
MySQL> SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ character_set_client,utf8 character_set_connection,utf8 character_set_database,utf8 character_set_filesystem,binary character_set_results,utf8 character_set_server,utf8 character_set_system,utf8 character_sets_dir,D:MySQL Server 5.0sharecharsets MySQL> SHOW VARIABLES LIKE 'collation_%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ collation_connection,utf8_general_ci collation_database,utf8_general_ci collation_server,utf8_general_ci
status 命令: MySQL>status; Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8
上面说了这么多内容,是关于对MySQL 字符集认识的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITJS,学习最新Mysql技术。