Dos中查看mysql数据时 中文乱码

时间:2023-11-26 11:58:26

使用jsp页面查看数据时可以正确显示中文,但是dos窗口查看数据时中文显示乱码。

上网查了一下原因:之所以会显示乱码,就是因为MySQL客户端输出窗口显示中文时使用的字符编码不对造成的,可以使用如下的命令查看输出窗口使用的字符编码

show variables like 'char%';

Dos中查看mysql数据时 中文乱码

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

set character_set_results=gb2312;

Dos中查看mysql数据时 中文乱码

此时我们再次执行查询,表中的中文数据就可以正常显示了,如下图所示:

Dos中查看mysql数据时 中文乱码

但是这样还有一个问题,就是每次退出mysql后,再重新登录时,character_set_results又变为utf8,又出现乱码情况。

所以根本的解决办法是

1.修改mysql数据库编码,即修改MySQL安装目录下的my.ini文件

default-character-set=gb2312

character-set-server=utf8

结果如下

Dos中查看mysql数据时 中文乱码