MySQL字符集(三)

1.  MySQL的字符集和校对规则有4个级别的默认设置:

服务器级,数据库级,表级和字段级

2.  服务器级字符集和校对规则的设置:

a.  my.cnf  

[mysqld]

character-set-server=gbk

b.启动选项中指定

mysqld --character-set-server=gbk

c. 在编译安装时指定

shell >  cmake  .  -DDEFAULT_CHARSET=gbk

注意:默认使用latin1作为服务器字符集,以上加默认都是使用默认校对规则,没有使用校对规则。

d.查看当前服务器的字符集和校对规则

show  variables like 'character_set_server';

show  variables like 'collation_server'; 

 

3. 数据库级字符集和校对规则的设置

a.如果没有指定字符集和校对规则,则使用服务器字符集和校对规则作为数据库的字符集和校对规则

b. 一般在数据库创建时指定该数据库的字符集和校对规则,不建议在数据库已有数据的情况下,修改数据库的字符集和校对规则,旧数据依然按照老的字符集进行存储。(推荐在创建数据库时明确指定字符集和校对规则)

c.显示当前数据库的字符集和校对规则

show variables like 'character_set_database'

show variables like 'collation_database'

 

4.表级字符集和校对规则

a.表的字符集和校对规则也是在创建时指定,同样如果在表中已有数据的情况下,修改字符集和校对规则,原有数据仍然按照老的字符集和校对规则进行存储,不会进行变更。

b.如果没有指定默认的字符集和校对规则,表会默认使用数据库的

c.查看表的字符集和校对规则

show create table z1 \G;

 

5. 列字符集和校对规则

a.没有指定,默认使用表的

b.列的设定一般只是一种灵活手段,针对相同的表的不同字段需要使用不同的字符集的情况。(较少出现)

 

6. 连接字符集和校对规则

a.  这是指客户端和服务器之间进行交互时所使用的字符集和校对规则。

b .交互操作会涉及 三个参数:

    character_set_client  (客户端)

    chatacter_set_connection(连接)

    character_set_results(返回结果)

一般情况下这三个参数的值会保持一致,确保用户写入的数据可以正确读取。

c.对于这三个参数不会进行逐个单一设置,而是使用一个命令进行统一设置:

   SET  NAMES  ***;

d. 或者在my.cnf中进行设置

   [mysql]

   default-character-set=gbk

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值