#场景
数据导入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服务好像也可以实现,不过没有尝试[嘿嘿]