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
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐