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