解决Docker安装MySQL中文乱码问题

问题描述:使用docker安装完mysql,出现中文乱码,如下;

解决方法如下:

1、启动mysql:

docker start mysql

2、进入容器:

docker exec -it mysql /bin/bash

3、登陆mysql:

mysql -u root -p

4、查看数据库默认字符集:

SHOW VARIABLES LIKE 'character_set_%';

可以看到,默认是latin1,connection 就是我们通过客户端连接的时候指定的编码。

外部访问数据乱码的问题就出在这个connection连接层上。

5、将字符集修改为utf-8格式:

SET NAMES 'utf8mb4'; 相当于以下三条指令:

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

6、修改配置文件:

① 进入配置文件目录,并且安装必要的软件,如下:

② 修改my.cnf

  • [mysqld] 标签下加上2行

        default-character-set = utf8mb4

        character_set_server = utf8mb4

  • [mysql] 标签下加上一行

        default-character-set = utf8mb4

  • [mysql.server]标签下加上一行

        default-character-set = utf8mb4

  • [mysqld_safe]标签下加上一行

        default-character-set = utf8mb4

  • [client]标签下加上一行

        default-character-set = utf8mb4

7、查看配置是否成功

可以看到,已经成功修改字符集,接下来看看数据表中的数据中文乱码是否解决,如下:

成功解决!

如果出现文章之外的问题,可以私信笔者。

猜你喜欢

转载自blog.csdn.net/m0_38023584/article/details/105584623