linux下mysql中文乱码问题

配置文件一般都在/etc/my.cnf

解决办法:

1、首先进入msyql,然后使用show variables like 'character%' ,执行编码显示,可以看到如下图所示:

linux下mysql中文乱码问题

默认的是客户端和服务器都用了latin1,所以会乱码。

2、修改/opt/lampp/etc/my.cof文件

linux下mysql中文乱码问题
[client]
#password       = your_password
port            = 3306
socket          = /opt/lampp/var/mysql/mysql.sock
default-character-set=utf8 //添加该语句

[mysqld]
user = mysql
port=3306
socket          = /opt/lampp/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character_set_server=utf8 //添加该语句

[mysql]
no-auto-rehash
default-character-set=utf8 //添加该语句
linux下mysql中文乱码问题

在mysql,mysqld,client下分别添加如上语句

注意:如果修改后不能启动报错试试把default-character-set=utf8改为character_set_server=utf8;我这里遇到了该问题,所以去掉了default后就正常了 ,脚本中没有使用default-character-set=utf8。

注意:这样修改不起作用

SET character_set_database = utf8;

SET character_set_server = utf8;

重启mysql后,又会变成lain1。

转自:https://www.cnblogs.com/beginner-boy/p/7643541.html