linux版本为CentOS 7,数据库版本为mysql-5.7.24,最近在将项目部署在linux上,访问数据都没问题,但添加中文数据的时候,出现了一堆问号,此时,我脑中也是一堆问号(小朋友你是否有很多问号???),点开浏览器,一顿搜索,有两种解救方法:
第一:修改my.cnf文件
将数据库默认字符集编码(character-set-server)格式改成utf8就行。
第二:在数据库中修改mysql字符集编码
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
但是这种办法,下次启动mysql服务时还是需要重新设置,不推荐使用!
以为这就解决了?
如果你能找到my.cnf文件,那么你解决了这个问题。
一般来说在etc目录下有my.cnf文件,可我安装mysql却没有my.cnf文件。
mysql5.7的配置<针对没有my.cnf文件> 可以看这篇文章了解配置信息
想要解决乱码问题,从配置文件入手,没有配置文件,手动在etc目录下创建my.cnf文件,你可以通过my.cnf文件进行配置来达到MySQL的启动配置及调优。你只需解决乱码问题,配置character-set-server就行。
[mysqld]
character-set-server = utf8
将这两行拷贝到你新创建的my.cnf中,通过命令(./mysqladmin -uroot -p shutdown)关闭mysql服务,再重新启动(./mysqld_safe &)mysql服务,
在mysql客户端查看数据库编码:show variables where Variable_name like ‘%char%’;
编码为utf8就修改成功了