linux下mysql中文乱码问题
配置文件一般都在/etc/my.cnf
解决办法:
1、首先进入msyql,然后使用show variables like 'character%' ,执行编码显示,可以看到如下图所示:
默认的是客户端和服务器都用了latin1,所以会乱码。
2、修改/opt/lampp/etc/my.cof文件
[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 //添加该语句
在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