windows下用命令行来查询MySQL数据库中文显示乱码问题

时间:2024-03-16 11:49:08

windows下用命令行来查询MySQL数据库中文显示乱码问题

由于DOS不太支持utf8所以我们要修改客户端部分的字符集 :default-character-set=gbk

一开始以为是自己数据库的问题,但是怎么检查数据库的character是utf8,数据库中表的character也是utf8。并且在数据库中的表中也能显示中文,如图:
windows下用命令行来查询MySQL数据库中文显示乱码问题

为啥就是在windows的命令行中查询显示就是乱码了呢?找了好久终于解决问题了。

步骤如下,这是我遇到问题中一步一步解决问题的过程
如图:my.ini的内容部分截图windows下用命令行来查询MySQL数据库中文显示乱码问题
当57行生效时,在命令行登录MySQL并运行:show variables like ‘%char%’;
显示如下图:windows下用命令行来查询MySQL数据库中文显示乱码问题
windows下用命令行来查询MySQL数据库中文显示乱码问题
下面开始进行修改了:
windows下用命令行来查询MySQL数据库中文显示乱码问题
文件打开如下:
windows下用命令行来查询MySQL数据库中文显示乱码问题
保存my.ini文件之后
在命令行中退出MySQL,从新登录MySQL,之后运行命令:show variables like ‘%char%’;
如下图:windows下用命令行来查询MySQL数据库中文显示乱码问题
此时在查询数据库就不会有乱码了,如图显示正常:
windows下用命令行来查询MySQL数据库中文显示乱码问题
特别说明一下,如果在命令行终端运行:set character_set_results=gbk;
set character_set_client=gbk;
set character_set_connection=gbk;
也可以临时改变这些个属性,使从数据库里读出的中文显示正常,但是这种方法只是临时性的。如果退出mysql,重新进入的话,这三个属性就会又成为配置文件中的那个utf8了。
所以从配置文件中改default-character-set=gbk,就会使set character_set_results;
set character_set_client;
set character_set_connection;
这三个属性变为gbk编码了。