一、字符集设定
MySQL数据库允许对服务器、数据库、数据表、数据列级别的字符集作出互不影响的设定。
1、对服务器字符集设定是通过配置文件中选项character-set-server 设置,如 character-set-server =utf8
2、如果想在创建数据库时为它设定一个默认的字符集和排序规则,可以使用如下的形式:
如 CREATE DATABASE 数据库名 CHARACTER SET utf8 [COLLATE utf8_general_ci]
如果在创建数据库时没有指定字符集,那么服务器级别的字符集和排序规则设置将传递给这个数据库。
3、如果想为某个数据表设定默认的字符集和排序规则,可以在创建数据表时利用CHARACTER SET和COLLATE数据表选项:
如 CREATE TABLE 数据表名 CHARACTER SET utf8 [COLLATE utf8_general_ci]
如果在创建数据表时没有指定字符集和排序规则,那么数据库级别的默认设置将传递给这个数据表。
4、如果想为数据表里的某个数据列,指定一个默认的字符集和排序规则
如 数据列名 CHAR(10) CHARACTER SET utf8 [COLLATE utf8_general_ci]
如果指定数据列时没有指定字符集和排序规则,那么数据表的默认设置将传递给这个数据列。
CHARACTER SET 和COLLATE属性适用于CHAR、VARCHAR、TEXT、ENUM和SET数据类型。
二、查询数据库支持的字符集和查询当前数据库字符集设置
1、查询数据库支持的字符集和排序规则
SHOW CHARACTER SET ; 或 SHOW CHARSET; ——查询数据库支持的字符集
SHOW COLLATION; ——查询数据库支持的排序规则
2、查看数据库当前使用的字符集和排序规则,可以使用SHOW VARIABLES语句:
备注:MySQL把数据库的字符集和排序规则属性保存在数据库数据文件下的db.opt文件里。