1、debian系统
(1)mysql 5.5版本之前
vim /etc/mysql/my.cnf
在 [client] 下面加入
default-character-set=utf8
在 [mysqld] 下面加入
default-character-set=utf8
Notice:注意 如果修改后不能启动报错试试把 [mysqld] 下面的default-character-set=utf8改为character_set_server=utf8即可(本人未实验)
(2)mysql 5.5版本之后
vim /etc/mysql/my.cnf [client] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci
修改完成之后重启mysql
注:此方法亲测有效
2、centos 7 系统
登录mysql查看默认字符集
show variables like '%char%';
编辑my.cnf文件,在文件新加 default-character-set=utf8
[client] default-character-set=utf8 [mysqld_safe] default-character-set=utf8 [mysqld] default-character-set=utf8 [mysql] default-character-set=utf8
重启mysql,登录数据库
show variables like '%char%';
显示如下及修改成功,乱码问题即可解决。注:必须是修改完成之后建立的数据库与导入的数据才不会乱码,之前建立的数据库仍是乱码
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ |