对MySQL 字符集的正确认识
以下的文章主要描述的是对MySQL 字符集的正确认识,我们大家都知道MySQL数据库对于实际应用字符集的指定其是可以细化到一个数据库,一张表,一列,应该用什么字符集。MySQL字符集是理解过程 。 (1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin
以下的文章主要描述的是对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.0\share\charsets\
- 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 字符集认识的介绍,望你能有所收获。
上一篇: thinkphp实现多语言功能(语言包)
下一篇: 怎么批量设置文件和目录权限