一、问题描述
执行select语句时,出现如下情况
二、解决方法
这个解决方法有个前提条件,就是在图形化界面执行select语句,输出是没问题、不乱码的。
1.打开图形化界面
2.分别在SQL编辑器和命令行中执行中如下SQL语句
show variables like '%char%';
3.比较图形化界面和命令行界面的查询结果,更改名命令行界面对应的值
4.根据比较,我们发现,有四个变量需要修改,分别为character_set_client(客户端字符集)、 character_set_connection(客户端与服务器连接时的字符集)、character_set_results(返回给客户端的字符集)、character_set_server(数据库服务器字符集),在MySQL命令行执行如下命令
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_results=utf8;
set character_set_server=gb2312;
5.执行select语句,检查是否有效
6.上面的修改,会话窗关闭重开后,又会变回中文乱码状态,所以我们要修改配置文件,让配置永久生效
(1)首先,按下图打开配置文件
(2)参考下面的配置,在mysql.ini对应的位置修改
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=gbk
(3)测试
断开数据库,重新连接,测试无误 !