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,查询出的结果显示正常。

GitHub 加速计划 / li / linux-dash
11
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐