创建table的时候就使用utf8编码

在每次创建表的时候都在最后加上 character set = utf8就可以很好的支持中文

 create table xxx (
         id     int auto_increment, 
         title  text,
         content  text,
         posted_on  datetime,
         primary key (id)   
 ) character set = utf8;

修改已经有的table的编码

当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

alter table table_name convert to character set utf8;
此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。

修改table中一个column的编码

alter table 表名 modify 要修改的字段 字段类型 character set utf8;
即使是修改table某个字段的编码,也没有做到让之前的乱码变成中文。

查看一个database,一个table的编码

show create database 表名;

高版本的mysql默认就是utf-8,低版本的才会出现这种情况,我的也是这样,使用低版本时默认的是latin1

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄