mysql乱码解决方法
文章目录
mysql乱码解决方法环境问题描述短暂时间解决永久解决方法参考链接环境
linux
mysql 5.7.36
查看版本号
select version() from dual;
问题描述
我在数据库中插入了中文,但是出现了中文乱码
短暂时间解决
然后为了解决这个问题,我又设置了编码格式
alter database sk1y character set utf8;
然后再次插入中文测试
查看mysql编码,发现character_set_server
还没改
show variables like "character_set_%";
然后修改server的编码
set character_set_server=utf8;
其实到这个时候已经可以了的,但是我们重启mysql之后,又返回原始默认配置了
所以需要一个永久解决的办法
永久解决方法
注意我的mysql是5.7版本的,如果是5.5之前的参考
mysql中文乱码解决办法以及不同版本的mysql解决办法
在/etc/mysql
中有个f,添加
[client]default-character-set=utf8[mysqld]default-storage-engine=INNODBcharacter-set-server=utf8collation-server=utf8_general_ci
注意取消注释#
其实这个目录下,还有个f
,这个和f几乎是一样的,但是根据我查的资料显示:这个f是ubuntu特定的mysql设置,但是我们修改设置一般是修改/etc/mysql/f
/etc/f全局选项
/etc/mysql/f全局选项
SYSCONFDIR/f全局选项
$MYSQL_HOME/f服务器特定选项(仅限服务器)
defaults-extra-file用 --defaults-extra-file 指定的文件,如果有的话
~/.f用户特定选项
~/.f用户特定的登录路径选项(仅限客户端)
然后你需要重启mysql服务,然后再测试
(如果还是中文全是????
,那么就把表删除然后再重新创建)