对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 字符集认识的介绍,望你能有所收获。

【编辑推荐】

  1. 解决MySQL中文乱码的方法归纳
  2. MySQL数据库到Oracle程序迁移那些事项应值得注意?
  3. MySQL 安装备份在Linux系统中的安装
  4. MySQL 数据库的双机热备实际操作配置
  5. MySQL安装与qmail实际操作概述

 

THE END