#场景
数据导入mysql的时候,中文字符乱码,在网上找了不少资料,改来改去才搞定。仅以此文记录,作为日后备忘
查看mysql默认编码格式
- show variables like ‘character%’;
修改方法
临时方案
-
只能在当前环境下使用,重启后会无效
-
在dos命令界面键入:set names gbk;
修改配置文件my.ini
大致分为如下几个步骤:
- 1.如果没有mys.ini ,复制my-default.ini命名为my.ini
- 2.[mysqld]修改
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
此处不添加‘default-character-set = utf8
- 3.添加[mysql],[mysql.server],[mysqld_safe],[client]默认格式
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
4.删除当前mysql服务
管理员模式启动dos界面
sc delete mysql5.切换到mysql安装目录下,再注册mysql服务
D:\mysql-5.7.13-winx64\bin>mysqld --install mysql --defaults-file="D:\mysql-5.7.
13-winx64\my.ini"
Service successfully installed.
6.启动mysql
先停止服务:net stop mysql
再启动服务:net start mysql7.进入mysql查看编码格式:
mysql> show variables like ‘character%’;
| 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:\mysql-5.7.13-winx64\share\charsets\ |
8 rows in set, 1 warning (0.02 sec)
mysql> show variables like ‘collation%’;
| Variable_name | Value |
|---|---|
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
3 rows in set, 1 warning (0.01 sec)
表述不到位的地方可以参考引用连接
个人感觉不替换当前mysql服务好像也可以实现,不过没有尝试[嘿嘿]
本文详细介绍了在MySQL中解决中文乱码问题的具体步骤,包括查看默认编码格式、临时解决方案及通过修改配置文件my.ini实现永久修复的方法。
1173

被折叠的 条评论
为什么被折叠?



