首先进入你的数据库,输入以下命令:
show variables like '%char%'
会看到下图:
发现服务器和数据库采用了latin1的字符集。这怎么行?如果我存中文,岂不是雪崩?(会全部显示为?,且无法用select语句选出来)
所以还是得动手修改这个数据库:
vi /etc/my.cnf
在mysql标签下,添加以下两行:
character_set_server=utf8
init_connect='SET NAMES utf8'
systemctl restart mariadb
再进去查一下数据库:
完美,这下都是UTF8字符集了。
现在创建一个表:
create table user(
id varchar(30) character set utf8 not null primarykey,
ps varchar(30)
);
插入数据:
insert into user(id,pw) values('张','85900');
再选中:
select * from user where id='张';
已经可以发现它存储中文不会乱码了。