解决cmd客户端插入包含中文数据乱码

       在Navicat客户端或者SQLyog客户端中插入中文数据到数据库没有乱码,但是在cmd中插入数据后,再在cmd命令行查询发现乱码了。

通过输入语句:

show variables like 'character%';

     
查询数据库当前的编码集。


从上图中可以看到 MySQL 有六处使用了字符集,分别为:client 、connection、database、results、server 、system。其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);与客户端相关:connection、client、results 。


client为客户端使用的字符集
connection为连接数据库设置的字符集,如果连接数据库的字符集没有指定,则按照服务器默认的字符集设置
database为数据库服务器中某个数据库使用的字符集设定,若建库时没有指定,则使用数据库默认的字符集
server为服务器安装时指定的默认的字符集
results为数据库返回客户端所指定的字符集,若客户端没有设置,则使用服务器默认的字符集
system为数据库系统使用的字符集设定

该问题出现在cmd客户端,所以需要修改connection、results、client的编码集。因为cmd采用gbk编码,而数据库编码采用    utf-8,所以需要改变编码。

在 MySQL 的安装目录下有一个 my.ini 配置文件,通过修改这个配置文件可以一劳永逸的解决乱码问题。在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:

[client]

port=3306

default-character-set=utf8

[mysql]

default-character-set=utf8

character-set-server=utf8

将以上编码格式utf8改成gbk编码,然后重启MySQL服务即可。

-------------------------------------------------------------------------------------------------------------------

PS:mysql服务重启步骤:在window搜索框输入services.msc;在服务中找到MySQL服务,点击重启;

或者:在cmd命令行中输入net stop mysql,按回车;再输入net start mysql回车即可。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值