Xshell里执行mysql命令,发现select出来的记录中中文乱码
用SQLyog 连接mysql发现正常。
开始以为Xshell编码问题,按照[文件]–>[打开]–>在打开的session中选择连接的那个,点击[属性] -> [终端],编码选择为:Unicode(UTF-8),然后重新连接服务器这个步骤做了一遍,发现还是不行,仔细看一下中文目录还是显示正常的,那么排除linux终端的问题。
用终端连入msyql,打入命令SHOW VARIABLES LIKE ‘character%;,发现
character_set_client = latin1
character_set_database= latin1
character_set_server= latin1
于是在网上找了一下,重新设置f
1、在[client]字段里加入default-character-set=utf8,如下:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
2、在[mysqld]字段里加入character-set-server=utf8,如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
3、在[mysql]字段里加入default-character-set=utf8,如下:
[mysql]
no-auto-rehash
default-character-set=utf8
重启后再用xshell连入mysql,查询出的结果显示正常。