Linux mysql中文乱码问题

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/ |  

猜你喜欢

转载自www.cnblogs.com/fqxy/p/8985475.html