mysql字符集问题

前段时间做一个项目,前期数据都会存储在mysql中,数据时通过shell脚本的方式从文档中导入到Mysql中,然后通过workbench终端去查看导入的数据。结果,估计根据标题就能猜到,中文乱码了,从workbench中看到的中文字符乱码了。一直就听说过mysql中如果字符设置不对,中文很容易出现乱码,所以网上有很多资料介绍如何避免中文的乱码。在这儿就不介绍mysql的字符集了,只说说我的中文乱码是怎么被解决掉的。

这个问题通用的解决方法就是——将mysql服务的全部字符集都设置成utf8,可当我按照这样设置后,还是乱码。我这儿是通过shell脚本导入mysql的,文本文档是utf8编码的,可在数据库中用utf8字符集却不能看到正常的字符。既然这样,那一定就是shell连接mysql的字符集不是utf8的,被转换了,所以在shell中,我就在每次操作数据库前,加上一个命令:set names utf8,这样我在workbench上看到的中文字符正常了。

set names 'utf8';insert into tablename。。。

注意:如果使用mysqlclient库,通过程序读取mysql数据,在初始化mysqlclient时,一定也要记得设置utf8的字符集,这样是保证通过程序连接mysql的连接字符集也是utf8,不至于通过程序读取中文出现乱码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值