Linux上修改MySQL字符集为UTF8

Linux上修改MySQL字符编码为UTF8

开始在linux上装好了MySQL服务,在后期的使用过程中,突然发现在插入记录时,部分字段不能为中文,报错信息如下:

mysql> insert into syudent values(1,'陶盼',21);
ERROR 1366 (HY000): Incorrect string value: '\xE9\x99\xB6\xE7\x9B\xBC' for column 'name' at row 1

在这里插入图片描述

经过我坚持不懈的查找资料,终于解决了该问题。下面给大家分享我的解决方法:

1、数据库中查看MySQL状态:
# 查看mysql状态
mysql> status;
mysql> quit;

在这里插入图片描述

2、修改配置文件:
#退出数据库
systemctl stop mysqld.service
#编辑my.cnf配置文件
vim /etc/my.cnf
[client]                   //如果没有[client]段,就自己添加上去
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

编辑好配置文件后,重启MySQL服务;

systemctl start mysqld 

重启成功后,重新查询一下mysql的状态,显示如下即可:

mysql -u root -p'你的密码'
mysql> status;

在这里插入图片描述

这时候进入数据库即可正常插入中包含文字段数据了。

3、若是还没成功,可能是创建mysql时的配置或者刚上一步MySQL没有停止服务编辑 my.cnf 配置文件。

这里我们还需对表和字段设置字符集为utf8;

#查看一下表的创建过程
mysql> use ky15;
mysql> show create table syudent;

在这里插入图片描述

#将表的字符集设置为utf8
mysql> alter table 表名 character set utf8;
#将想要插入中文的字段的字符集改为utf8
mysql> alter table 表名 change name name char(20) character set utf8;
#查看表的字符集和字段的字符集
mysql> show create table syudent;

在这里插入图片描述

#测试,插入中文
mysql> insert into syudent values(1,'陶盼',21);
mysql> insert into syudent values(2,'王旭',21);
mysql> select * from syudent;

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值