声明:菜鸟刚学没啥技术,找了许久这样解决了。
win10平台 linux环境不知道
一、首先连接数据库输入以下命令
show variables like "%chara%";
目标就是修改成上图样子
我们看一下每行代表什么
character_set_client :客户端数据使用字符集
character_set_connection:连接数据库时使用的字符集,如果程序没有指定编码则使用这个编码
character_set_database:当前数据库使用的字符集
character_set_filesystem:文件系统的编码格式,把os上的文件名转化成此字符集,默认binary不做任何转换的。(不影响乱码)
character_set_results:查询结果字符集也就是数据库给客户端返回时的编码
character_set_server:默认内部操作字符集也就是服务器安装时指定的默认编码
character_set_system:系统元数据(字段名等)字符集 (不影响乱码)
character_sets_dir:看不懂,也不用改(不影响乱码)
注意:
set character_set_XXX = “uft8”;
该语句不是永久有效,只对当前连接有效,所以最有效的就是修改本地 my.ini 文件
二、找到本地my.ini文件
(在这刚好推荐一个本地文件检索工具 软件名:everything )
查询文件超级快
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTgxMTI3MTEyODI5NDk0LnBuZw==.png)
找到文件后打开
找到下面三个地方
①
[mysql] no-beep
# default-character-set=utf8
②
[mysqld] character-set-server=utf8(一般这边没有这条语句先找③那个)
③
# The default character set that will be used when a new schema or table is # created and no character set is defined # character-set-server=utf8(把这句话复制到第二条位置)
三、修改表的字符集,重启服务
这是修改表的字符集语句(login换成你想修改的表)
alter table login convert to character set utf8;
win+R键输入
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTgxMTI3MTEzNjM0OTg0LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwwMUpRVTlJV1Y4eCxzaXplXzE2LGNvbG9yX0ZGRkZGRix0Xzcw.png)
找到mysql服务重启
重启后输入以下语句查询是否更改成功
show variables like "%chara%";
还有注意在连接的时候选择使用MySQL字符集,不然白改了
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTgxMTI3MTE0MjM4MTkyLnBuZw==.png)
四、测试
这是修改之前
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTgxMTI3MTEzODEyOTc3LnBuZw==.png)
修改之后
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTgxMTI3MTEzOTIwNzY4LnBuZw==.png)
五、OK问题解决,开始喝茶 |