MySQL的字符集和校对规则有四种级别的默认设置:服务器级、数据库级、表级、字段级(不讨论很少用到),三种设置方式如下
服务器字符集和校对.在MySQL服务器启动时确定
mysql.cnf
[mysql]
default-character-set=utf8
启动的时候也可以指定
mysqld --default-character-set=gbk
在编译的时候指定
cmake \
-DDEFAULT_CHARSET=utf8 \
-DEFAULT_COLLATION=utf8_general_ci \
查看当前服务器的字符集和校对规则
mysql> show variables like 'character_set_server';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| character_set_server | utf8 |
+----------------------+-------+
1 row in set (0.29 sec)
mysql> show variables like 'collation_server';
+------------------+-----------------+
| Variable_name | Value |
+------------------+-----------------+
| collation_server | utf8_general_ci |
+------------------+-----------------+
1 row in set (0.01 sec)
mysql>
数据库字符集在创建DB的时候指定,如果没有指定使用默认可以在创建完毕之后使用alter修改.(需要注意点在上篇文件已经讲过)
create database db_name default charset set gbk;
表级字符集
创建表的时候显示指定不指定用默认字符集
mysql> create table test1 (id int, name char);
Query OK, 0 rows affected (2.10 sec)
mysql>
mysql>
mysql> show create table test1 \G;
*************************** 1. row ***************************
Table: test1
Create Table: CREATE TABLE `test1` (
`id` int(11) DEFAULT NULL,
`name` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.13 sec)
阅读(1954) | 评论(0) | 转发(0) |