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 阅读(3) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?