命令行中mysql乱码问题

时间:2022-05-22 19:41:03

1.现象

 在命令行中,执行sql语句如果包含中问题,提示“ Data too long for column '列名' at row 1”
  或者在命令行中查询出的结果中,中文乱码
 
2.分析
 a.查看命令行的默认编码方式:右击命令行标题栏--属性--当前代码页
 
命令行中mysql乱码问题
b.查看mysql中客户端与结果集的编码方式
   show variables like 'character%';,可以看到,客户端与结果集的编码方式都是utf8
命令行中mysql乱码问题
 
问题找到了,命令行与mysql的编码方式不一样导致的乱码;
 
3.解决方法
先停掉mysql 的服务,然后在mysql的安装目录下找到my.ini,定位到client section,将默认字符改成gbk就OK了。
命令行中mysql乱码问题