群辉docker mysql 中文数据出现乱码和问号解决方案

上次布署完成群辉docker的mysql双主同步后(https://blog.csdn.net/mr_zql/article/details/94902432 ),一时没注意到这个问题。直到今天使用Navicat_Premium查询数据时才发现中文出现了乱码。原因是建库时使用了默认的latin1编码,即(ISO-8859-1)。下面附上解决方案:
首先进入mysql容器的终端机,新增一个终端,然后输入命令vim etc/mysql/mysql.cnf进入到配置文件进行修改。
在这里插入图片描述
打开文件后,开启编辑模式,添加以下内容

[client]
default-character-set=utf8  

## 这两句放在[mysqld]下
character-set-server=utf8 
collation-server=utf8_general_ci

在这里插入图片描述

[client]节点下添加
default-character-set=utf8
(有的版本不支持default-character-set=utf8,用character_set_server=utf8来取代 default-character-set=utf8即可)
[mysqld]节点下添加
character-set-server=utf8
collation-server=utf8_general_ci
(这个是服务器端编码的配置,注:collation是排序方式)

修改完成记得重启service,service mysql restart
在这里插入图片描述

重启完成,就可以进行mysql查询默认编码。
在这里插入图片描述
这是之前未修改的
在这里插入图片描述
注意,如之前建表时未对表和列的编码进行设置编码的,需要更新表和列的编码,否则jdbc读取数据时会报编码异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值