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 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题
栏 目:Mysql
下一篇:mysql条件查询and or使用方法及优先级实例分析
本文标题:MySQL命令行操作时的编码问题详解
本文地址:http://www.codeinn.net/misctech/171094.html