MySQL在命令行使用时中文显示乱码

问题描述:

       创建MySQL表的时候设置为utf-8;使用SHOW VARIABLES LIKE 'char%';命令查看后,发现character_set_database和character_set_server也是utf8;但是select操作之后,数据库中的中文字段依旧显示不正常。

      在使用中发现此问题的时候,想到这是一个简单的问题,本应该自己就可以解决掉的,但因为粗心或者知识点不足导致最终没有直接解决。解决此问题应该关注的是character_set_results而不是我在问题描述中所提到的character_set_database和character_set_server。如图,可以看到character_set_results字段的value为latin1,而不是utf8。

      最终请教了MySQL大神,他告诉我执行命令set names utf8;观察下。

      执行上述命令后,再次执行select语句观察结果,中文字段显示正常。

总结:

       要保证select的返回与程序编码一致,即character_set_results与程序编码一致.

       如果出现中文乱码,如何解决?执行命令:SHOW VARIABLES LIKE 'char%'; 观察是否Value都是utf8。

       如果character_set_client  character_set_connection   character_set_results不是,则需要执行set names utf8; 之后再次查看结果。

       关于set names utf8;查看下面的链接:https://blog.csdn.net/qq_39521554/article/details/78925440

 

自己当时看到的相关链接,待认真学习后对其进行总结。

set names utf8;背后的原理:

https://blog.csdn.net/qq_39521554/article/details/78925440

https://blog.csdn.net/u012410733/article/details/61619656

https://blog.csdn.net/luoweifu/article/details/883249

utf8与utfmb8区别:

https://my.oschina.net/xsh1208/blog/105278

 

每天学习一点点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值