mysql命令窗口中文乱码问题

MySQL命令窗口中文编码乱码问题:

使用查询命令:

show variables like 'char%';

编码解释:

character_set_client:MySQL使用该编码来解读客户端发送过来的数据,例如编码为UTF8,那么如果客户端发送过来的数据不是UTF8,那么就会出现乱码

character_set_results:mysql会把数据转换成该编码后,在发送给客户端,例如该编码为UTF8,那么如果客户端不用UTF8来解读,那么就会出现乱码

其他编码只要支持中文即可,也就是说不能使用UTF8

注意:命令行窗口只能使用GBK编码,如果传递UTF8编码必然会乱码

 

控制台乱码问题

插入或修改是出现乱码:

  -| 这个时候因为cmd下默认使用GBK而character_set_client不是GBK的原因。我们只需要让这两个编码相同即可。

  -| 因为修改cmd的编码不方便,所以我们去设置character_set_client为GBK即可。

查询出的数据为乱码:

   -| 这是因为character_set_results不是GBK,而cmd默认使用GBK的原因,我们只需要让这两个编码相同即可。

   -| 因为修改cmd的编码不方便,所以我们去设置character_set_results为GBK即可。

设置变量的语句:

   -| set character_set_client = gbk;

   -| set character_set_results = gbk;

注意,设置变量只对当前连接有效,当退出窗口后,再次登录mysql,还需要再次设置变量。

为了一劳永逸,可以在my.ini中设置:

设置character-set-server=utf8即可。


 

| character_set_client     | utf8       -->mysql把我们客户端传递的数据当成是utf8!一是给他传递utf8,二是如果我们传递的是gbk,那么需要修改这个变量为gbk
| character_set_connection | utf8                    
| character_set_database   | utf8                        
| character_set_filesystem | binary                                  
| character_set_results    | utf8        -->mysql发送给客户端的数据都是utf8!一是客户端用utf8编码,二是如果客户端使用gbk来编码,那么需要修改这个变量为gbk                                    
| character_set_server     | utf8                                    
| character_set_system     | utf8

修改:

查询:

修改my.ini

可以一劳永逸的解决问题,修改完成以后,重启MySQL,生效。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值