使用jsp页面查看数据时可以正确显示中文,但是dos窗口查看数据时中文显示乱码。
上网查了一下原因:之所以会显示乱码,就是因为MySQL客户端输出窗口显示中文时使用的字符编码不对造成的,可以使用如下的命令查看输出窗口使用的字符编码
show variables like 'char%';
可以看到,现在是使用utf8字符编码来显示中文数据的,但是因为操作系统是中文操作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码改成gb2312才能够正常显示中文。使用如下的命令设置输出窗口使用的字符编码:
set character_set_results=gb2312;
此时我们再次执行查询,表中的中文数据就可以正常显示了,如下图所示:
但是这样还有一个问题,就是每次退出mysql后,再重新登录时,character_set_results又变为utf8,又出现乱码情况。
所以根本的解决办法是
1.修改mysql数据库编码,即修改MySQL安装目录下的my.ini文件
default-character-set=gb2312
和
character-set-server=utf8
结果如下