解决linux下mysql乱码

问题所在:mysql系统编码不是utf-8,linux系统编码也不是utf-8,全部修改就ok了!

1.通过mysql的配置文件(my.cnf)设置mysql的编码格式
[root@VM_135_250_centos mysql]# vim /etc/my.cnf
[client]                        
default-character-set=utf8

[mysqld]
character-set-server=utf8


2.重启mysql服务器
[root@VM_135_250_centos mysql]# service mysql restart
Shutting down MySQL... SUCCESS!
Starting MySQL.. SUCCESS!

3.进入数据库,查看刚刚配置文件是否生效
mysql> show variables like 'char%’;


mysql> show variables like 'colla%';


都变成utf8,说明生效了。
注意:如果在没有改这个配置之前,数据库默认的编码是  latin1 , 如果允许可以先删除这个数据库, 修改上面配置后再重新创建,那么默认就是utf8了。
查看当前数据库编码:
mysql> show create database weixin;


4.创建一个数据表,编码格式utf8


5.向其中插入中文如果还有乱码,看看是否还是乱码,如果还是,有可能是系统编码不是utf8
查看系统编码:
[root@VM_135_250_centos mysql]# locale

en_US.UTF-8:表示英文utf8;如果不是这个,就去 /etc/sysconfig/i18n 中修改。

6.修改系统编码为utf-8
[root@VM_135_250_centos mysql]# vim /etc/sysconfig/i18n

重启这个配置文件:
[root@VM_135_250_centos mysql]# source /etc/sysconfig/i18n

7.修改完成后再使用 步骤5命令,就会出现步骤5结果。如果还是乱码,就重启系统吧,重启就ok了,我这次就是这样;
[root@VM_135_250_centos mysql]# reboot

8.重启后再进入mysql,插入中文就正常了。


客户端工具连接也显示ok了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值