刚刚把window系统中mysql数据库中的数据导入了linux服务器中mysql中,结果出现数据乱码,查了一下资料,找到了解决的方式,在这里给大家分享一下
mysql> show variables like '%character%';
忘了截图不好意思,我的是system为utf8,其余的不是
1. 找到mysql的配置文件,拷贝到etc目录下
把/usr/share/mysql/my-large.cnf 复制到 /etc/my.cnf
命令:cp /usr/share/mysql/my-large.cnf /etc/my.cnf
2. 打开my.cnf修改编码
在[client]下增加default-character-set=utf8
在[mysqld]下增加default-character-set=utf8
如果修改后启动失败则把在[mysqld]下改为character-set-server = utf8
加上init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
因为本人技术不到家,直接用的WinSCP工具把my-large.cnf下载到本电脑添加内容修改名称又上传到了etc文件中,哈哈
WinSCP下linux中目录
my.cnf文件
3. 重新启动mysql(提供2种方法)
service 启动:service mysqld restart(我的找了下是mysql,所以使用 service mysql restart 启动的)
mysqld 脚本启动:/etc/inint.d/mysqld restart
输入show variables like '%character%';
编码修改搞定,将数据重新导入一遍,乱码消失。