汇智动力

售前免费咨询热线: 4 0 0 - 1 8 6 - 0 9 0 5
汇智资讯Huizhi information

当前位置:首页 »MySql编码改过之后为什么查询数据还是乱码?

MySql编码改过之后为什么查询数据还是乱码?

日期:2021-08-30 11:16:46 访问量: 来源:

你说的应该是中文显示乱码吧,这个主要原因应该是mysql数据库的编码方式和系统自身的编码方式冲突造成的,如果数据库的编码是utf-8,而系统自身的编码是gbk,那查询的时候中文很可能就会显示乱码,下面我大概介绍一下查看编码和设置编码的步骤,实验环境win7+mysql5.5+navicat,主要步骤如下:

1.先在navicat中查看要查询的数据,如下,数据显示正常,中文未出现乱码:

MySql编码改过之后为什么查询数据还是乱码

2.打开cmd,连接mysql,输入同样的sql语句,这次中文出现乱码,查询结果不能正常显示,如图:

MySql编码改过之后为什么查询数据还是乱码

3.查看当前数据库编码方式,语句是"show variables like '%character%'",从中可以看出,数据采用的编码方式是utf-8,而我们知道,cmd默认采用的编码方式是gbk,所以出现中文乱码,不能正常显示中文:

MySql编码改过之后为什么查询数据还是乱码

4.发现问题所在后,在输入sql语句前,可以进行一下编码设置,设置成与cmd默认编码方式一样,就不会出现中文乱码现象,命令是"set names gbk",如下:

MySql编码改过之后为什么查询数据还是乱码

至此,中文就能正常显示了,之所以中文显示乱码,归根结底还是编码方式冲突造成的,cmd中经常会出现这种情况,你设置一下编码就行,linux系统采用的是utf-8编码,出现中文乱码的情况较少,除非你设置数据库的编码方式不是utf-8。

相关阅读Reading

全国热线:400-186-0905

总部热线:028-6547-1147

周一至周日9:30-24:00

我要咨询
汇智动力微信

汇智动力微信公众号