一、查看数据库服务器,客户端,数据库连接等字符编码
查询语句:show variables like ‘%char%’;
±-------------------------±------------------------------------±-----
| Variable_name | Value |…
±-------------------------±------------------------------------±-----
| character_set_client | utf8 |… – 客户端字符集
| character_set_connection | utf8 |…
| character_set_database | latin1|… – 数据库字符集
| character_set_filesystem | binary |…
| character_set_results | utf8 |…
| character_set_server | latin1|… – 服务器字符集
| character_set_system | utf8 |…
| character_sets_dir | D:\MySQL Server 5.0\share\charsets\ |…
±-------------------------±------------------------------------±-----
查看表的编码信息:show create table 表名;
查看表中每一列的字符编码:show full columns from 表名;
查看编码集:show character set;
二、修改字符编码的方法
1.创建表时设置字符编码的三种方法
方法一:建表时改变单个属性的编码
在数据类型char、varcahr前+n
例:
create table user(id int ,name nvarchar(10)));
create table user(id int,sex nchar(2));
方法二:建表时改变单个属性的编码
在数据类型后+CHARACTER SET 编码
例:
CREATE TABLE student_tb2(
Sname varchar(10) CHARACTER SET utf8 DEFAULT NULL
);
方法三:创建表时制定编码格式
将表的所有属性均变为该编码
例:
CREATE TABLE stu_test (
id int(11) NOT NULL,
name varchar(10) DEFAULT NULL,
sex enum(‘男’,‘女’),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.已创建表的修改字符编码的方法
方法四:
alter table 表名 convert to character set utf8;
3.修改配置文件设置字符编码的方法
方法五:
改变mysql的配置文件my.ini,更改下图红框位置的默认字符。
注意:
(1)改完保存后,需要重启服务
(2)需要重新登录并创建新的数据库,以前的旧数据库的编码格式并没有改变,不能使用以前的旧数据库。