docker mysql 中文乱码
时间: 2023-10-29 09:57:55 浏览: 126
在 Docker 中使用 MySQL 时出现中文乱码的问题通常是由于字符集配置不正确所致。以下是一些可能的解决方案:
1. 在启动 MySQL 容器时,指定正确的字符集配置。可以通过添加 `--character-set-server=utf8mb4` 和 `--collation-server=utf8mb4_unicode_ci` 参数来设置字符集和排序规则。例如:
```
docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d -p 3306:3306 mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
```
2. 进入 MySQL 容器,并修改 MySQL 服务器的配置文件:
```
docker exec -it mysql bash
vi /etc/mysql/my.cnf
```
在 `[mysqld]` 下添加以下两行配置:
```
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
保存并退出容器。
3. 重新启动 MySQL 容器以应用配置更改:
```
docker restart mysql
```
4. 确保连接 MySQL 数据库时,客户端使用正确的字符集。可以在连接字符串中指定字符集,例如:
```
jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
```
尝试上述解决方案后,应该能够解决 Docker 中 MySQL 中文乱码的问题。
阅读全文