你说的应该是中文显示乱码吧,这个主要原因应该是mysql数据库的编码方式和系统自身的编码方式冲突造成的,如果数据库的编码是utf-8,而系统自身的编码是gbk,那查询的时候中文很可能就会显示乱码,下面我大概介绍一下查看编码和设置编码的步骤,实验环境win7+mysql5.5+navicat,主要步骤如下:
1.先在navicat中查看要查询的数据,如下,数据显示正常,中文未出现乱码:
2.打开cmd,连接mysql,输入同样的sql语句,这次中文出现乱码,查询结果不能正常显示,如图:
3.查看当前数据库编码方式,语句是"show variables like '%character%'",从中可以看出,数据采用的编码方式是utf-8,而我们知道,cmd默认采用的编码方式是gbk,所以出现中文乱码,不能正常显示中文:
4.发现问题所在后,在输入sql语句前,可以进行一下编码设置,设置成与cmd默认编码方式一样,就不会出现中文乱码现象,命令是"set names gbk",如下:
至此,中文就能正常显示了,之所以中文显示乱码,归根结底还是编码方式冲突造成的,cmd中经常会出现这种情况,你设置一下编码就行,linux系统采用的是utf-8编码,出现中文乱码的情况较少,除非你设置数据库的编码方式不是utf-8。这里需要注意的是在你创建数据库的时候,就要注意编码的设置,有些时候数据库默认编码不是utf-8,而你又不指定,很可能就会出现乱码,而这种情况下,一般不仔细检查还发现不了,这时候你就得好好看编码了,希望以上分享的内容能对你有所帮助吧。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有