欢迎光临
我们一直在努力

设定mysql的默认字符集

mysql> show global variables like ‘%charac%’;    –查看当前mysql采用的字符集

mysql>show global variables like ‘%server%’;    –查看当前服务端全局字符集

+———————-+——————–+

| Variable_name        | Value       |       

+———————-+——————–+

| character_set_server | latin1         |

| collation_server    | latin1_swedish_ci 

+———————-+——————–+

2 rows in set (0.00 sec)

如何修改为我们熟悉的UTF8字符集呢?以下列出两种:

  1. 修改my.cnf文件,需重启服务,长期有效

在server下添加两行:

character_set_server=utf8

collation_server=utf8_general_ci

2.修改mysql变量,不用重启,建立新会话时生效,但重启后失效.

mysql> set global character_set_server=utf8;        –修改当前字符集为utf8,不加global 却仅对当前会话有效.

3.在客户端指定要使用的字符集

mysql>set character-set_results=gbk;              –在客户端设定

4.设定当前会话使用的字符集:

mysql>set names gbk;                     –设定当前会话使用gbk字符集.

5.mysql>set character set  gbk;                –设定当前系统的变量为GBK

 mysql>set charset gbk;                     –与上句相同

————————————————————————————————————————————————————————————————————

mysql>show create table 表名;                 –查看建表时使用的字符集

mysql> alter database 数据库名 character set utf8;       –更改数据库默认字符集utf8,更新后新建表格将采用新的字符集

mysql> alter table 表名 character set utf8;           –更改表格默认字符集为utf8,更新后添加的列将采用新的字符集

mysql> show full fields from 表名;                 –查看数据表的各列信息,包括列的字符集和可操作权限等

mysql>alter table 表名 modify 字段名  字段类型  CHARACTER SET utf8, modify 字段名 字段类型 CHARACTER SET utf8;          –更新字段字符集属性为utf8,我原来的为latin1,不能插入中文

————————————————————————————————————————————– 练练手 ————————————————————–

mysql>create database test2 charset gbk;          –建立test2数据库时指定字符集为GBK,此后在此库下建立新表格,默认采用GKB字符集;

mysql>alter database test2 charset utf8;          –更改默认字符集为utf8;更改后在此库下新建表格采用utf8字符集。

mysql>show create database tests;               –查询新建数据时的信息

mysql> create table ab (id char(10)) charset gbk;    –用gbk字符集新建一个表ab

mysql>alter table ab charset utf8;               –更改ab默认字符集为utf8

mysql>create table bd(id char(10) charset gbk);      –建表时指定id字段用gbk字符集

mysql>show create table ab;                    –查询建ab表时用的信息。

更改字符集需谨慎!

修改表和列的字符集时要考虑字符集的兼容,不然在mysql转换过程中会丢失数据,并不可还原。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。