对MySQL 字符集的正确认识


  本文标签:MySQL 字符集

  以下的文章主要描述的是对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、查看系统的字符集和排序方式的设定可以通过下面的两条命令:

  1. MySQL> SHOW VARIABLES LIKE character_set_%;   
  2.  
  3. +--------------------------+----------------------------+   
  4. | Variable_name | Value |   
  5. +--------------------------+----------------------------+   
  6. character_set_client,utf8   
  7. character_set_connection,utf8   
  8. character_set_database,utf8   
  9. character_set_filesystem,binary   
  10. character_set_results,utf8   
  11. character_set_server,utf8   
  12. character_set_system,utf8   
  13. character_sets_dir,D:\MySQL Server 5.0\share\charsets\   
  14. MySQL> SHOW VARIABLES LIKE collation_%;   
  15. +--------------------------+----------------------------+   
  16. | Variable_name | Value |   
  17. +--------------------------+----------------------------+   
  18. collation_connection,utf8_general_ci   
  19. collation_database,utf8_general_ci   
  20. collation_server,utf8_general_ci   

  

  status 命令:

  

  1. MySQL>status;   
  2. Server characterset: utf8   
  3. Db characterset: utf8   
  4. Client characterset: utf8   
  5. Conn. characterset: utf8   

  以上的相关内容就是对MySQL 字符集认识的介绍,望你能有所收获  。