首页 > 代码库 > 命令行中mysql乱码问题

命令行中mysql乱码问题

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了。
 

命令行中mysql乱码问题