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
于是在网上找了一下,重新设置my.cnf
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,查询出的结果显示正常。

本文介绍如何解决使用Xshell连接MySQL时出现的中文乱码问题。通过调整my.cnf配置文件中的字符集设置,确保客户端、服务器和服务端的字符集均为UTF-8,最终解决了乱码问题。
982

被折叠的 条评论
为什么被折叠?



