MySQL命令行操作时的编码问题详解

雪幕拉开,飘然而至分外美妙,初起便显现出意境;雪落十分,然间有种喜悦在心间荡漾,纷飞飘扬尽享每一刻青春的激情;飞舞的雪花,感受芬芳的韵味,迷人心脾围绕在身旁;耳畔,时常想有沙沙的声音那样的动听,百听不厌,着迷在这一刻升起动人心怀的旋律。

1.查看MySQL数据库编码

mysql -u用户名 -p密码
show variables like 'char%';

2.编码解释

1.character_set_client:MySQL会使用该编码来解读客户端发送来的数据,如果该字段编码为utf8,那么如果客户端发送过来的数据不是utf8,就会出现乱码现象。 2.character_set_results:MySQL会把数据转换成该编码后,再发送给客户端,例如该编码为utf8,那么如果客户端不使用utf8来解读,那么就会出现乱码现象。

3.控制台乱码问题

3.1 插入或修改时出现乱码

原因:cmd命令行默认使用gbk编码,而character_set_client却为utf8。

解决:

set character_set_client = gbk;

3.2 查询出的数据出现乱码

原因:cmd命令行默认使用gbk编码,而set character_set_results却为utf8。

解决:

set character_set_results = gbk;

4.指定默认编码

上述解决办法只对当前连接有效,当退出窗口后,再次登录MySQL还需再次设置变量,因此为了一劳永逸我们可以在MySQL安装目录下的my.ini中设置

将其改为 gbk即可:

查看效果:

至此,我们MySQL在命令行操作的编码问题便成功解决了~!

总结

到此这篇关于MySQL命令行操作时的编码问题详解的文章就介绍到这了,更多相关MySQL命令行操作编码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

标签: 命令行 MySQL