mysql命令行中文乱码或无法显示的解决方法

首先我只是单纯的用mysql命令行试试数据库的语法,但是却发现了中文不能显示和乱码的现象。

1.首先遇到的问题时在mysql中用insert语句插入中文的值,用select语句查询时无法显示中文,后来我下载了一个navicat进行数据库管理,结果发现在navicat里面也显示不出中文来。所以问题很明显了,在命令行中插入的中文没效果。

2.所以我接下来用Navicat先在表中插入中文,然后在命令行中再查看,这时候出现了中文乱码。

char mysql 不显示中文 mysql中文显示不出来_中文乱码

char mysql 不显示中文 mysql中文显示不出来_中文乱码_02

出现了中文乱码的现象,然后我尝试了很多网上的方法,但是都没有什么用,搞了一个多小时,没什么结果。

接下来分享一下解决办法:

查看编码方式

char mysql 不显示中文 mysql中文显示不出来_中文乱码_03

发现character_set_results是以utf8的形式进行返回的,

这里注意现在是使用utf8字符编码来显示中文数据的,但是因为操作系统是中文操作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码改成gb2312才能够正常显示中文。使用如下的命令设置输出窗口使用的字符编码:

char mysql 不显示中文 mysql中文显示不出来_mysql_04

然后就可以显示中文了,但是为什么表格那里不整齐,这个我也不知道。有知道的可以留言告诉我。

这是临时更改,每次重新打开mysql窗口,又恢复了乱码)其实如果不介意的话也无所谓,了解为啥会出现这样的情况就行了。如果你把命令行关掉,又会出现乱码现象。

所以说下次打开命令行之后先执行这样一句 set character_set_results=GB2312,个人觉得也不是很麻烦,因为自己在网络上找方法时更麻烦。