windows 平台修改mysql 字符编码 utf8

一 修订记录

序号 修订内容 修订时间
1 新增 20250224

二 环境信息

2.1 操作系统

操作系统 Windows 11 专业版

2.2 软件

mysql 5.7.43
Server version: 5.7.43-log MySQL Community Server (GPL)

mysql 安装目录 D:\Program Files\MySQL\MySQL Server 5.7
mysqldata 存储目录 D:\ProgramData\MySQL\MySQL Server 5.7

三 实施

3.1 常见办法及不生效原因

网上常见办法 就是在安装目录下 D:\Program Files\MySQL\MySQL Server 5.7新增my.ini 配置文件,然后新增如下配置

[client] 
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4

新增完重启MySQL,有些人成功了,有些人失败了
我的重启之后如下:

mysql> show variables like 'charac%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8mb4                                                 |
| character_set_connection | utf8mb4                                                 |
| character_set_database   | latin1                                                  |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8mb4                                                 |
| character_set_server     | latin1                                                  |
| character_set_system     | utf8                                                    |
| character_sets_dir       | D:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.01 sec)

mysql>

不生效原因:my.ini 位置不对。

3.2 正确配置办法

首先找到my.ini 配置文件地址,然后再修改配置,最后重启mysql

3.2.1 找到my.ini 配置文件地址

找到mysql 服务,然后右键,然后点击属性

然后就可以看到启动时 配置文件my.ini 的具体地址

可见我的配置文件在 D:\ProgramData\MySQL\MySQL Server 5.7\my.ini

3.2.2 修订my.ini

先备份下原文件,然后在对应的模块下 新增如下配置

[client] 
default-character-set = utf8

[mysqld]
character-set-server = utf8

3.2.3 重启mysql

3.2.4 验证

3.2.4.1 cmd 切换到utf8

cmd 默认是gbk,打开cmd 后 输入chcp 65001 就切换到utf8 编码

3.2.4.2 连接mysql 并查看编码

C:\Users\weibi2>mysql -uroot -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Active code page: 65001

C:\Users\weibi2>mysql -uroot -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.43-log MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'charac%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | D:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

mysql>

posted on 2025-02-24 14:53  weiwei2021  阅读(65)  评论(0)    收藏  举报