亲宝软件园·资讯

展开

linux修改mysql字符集

沃尔码 人气:0

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;

在这里插入图片描述

加载全部内容

相关教程
猜你喜欢
用户评论