涉及到中文问题,大多都是编码类型的问题啦。
我们首先看看默认mysql创建表后使用的编码类型是什么吧。
下图中我们首先创建了一个表test。
create table test(name char(20);
3DAB6F0C-AC53-4134-BA44-FEA01C55C838.png
然后我们可以使用命令
SHOW FULL COLUMNS FROM 表名;
来查询各个列的编码类型。
我们创建的表只有一列name,从图中可以看到该列的collation的值为latin1_swdish_ci,这是一种拉丁编码类型,要想显示中文,需要使用到utf-8编码类型。
我们可以先试试在这种拉丁编码下是否可以插入中文数据。
例如我们使用
insert into test values('张三');
我们会发现,插入操作遇到了error,即并不能插入成功。
5CBCA151-8D98-4BE2-8B20-6B158EB67DDD.png
接下来,我们试试如何将该列的编码更改为utf-8类型。
alter table test change name name char