在CMD中操作mysql数据库出现中文乱码解决方案
百度了一下。。有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 。
其实,只要保证cmd客户端和MySQL两者编码一致即可。
但现实是cmd默认的是gbk(cmd属性可以看到中文操作系统下面是gbk编码),而mySQL一般是utf8(我的也是),之前一直进入误区,想要更改cmd的字符编码,可是并不能行得通。网友中提到在mysql中关于客户端编码问题,只需在cmd里告诉mysql服务器我客户端这边编码和想要的结果集编码即可。
具体步骤:
1、win+r进入cmd,然后切到mysql安装目录的bin文件夹下(或者直接打开我的电脑找到bin文件夹,在上方地址栏输入cmd);
2、输入 mysql -uroot -p,然后按提示输入密码计入数据库;
3、设置编码;
此时输入 set character_set_client=gbk;告诉我客户端这边的文字编码
再输入set character_set_results=gbk; 告诉mysql希望返回的结果集编码;实验中发现只要客户端是gbk编码的,只要设置这个就可以解决乱码这个问题。
还有另外一个好用的命令可以同时达到上面两条指令的效果:
set charset gbk;//和上面两个效果一致。
大功告成!去插入中文字段试试吧!
PS:下面在看一个简单的方法,两行代码搞定!
mysql在cmd显示中文乱码
cmd默认的编码为gbk;
修改mysql的character_set_results的编码为gbk;
set character_set_results = gbk;
总结