Win10 MySQL5.7中文乱码问题

一、

通过workbench向MySQL的表中插入的数据包含中文时,产生如下报错:

Win10 MySQL5.7中文乱码问题_第1张图片

 

二、

查看MySQL默认的使用的字符集编码

通过如下命令:

SHOW GLOBAL VARIABLES LIKE '%character_set%';

 

Win10 MySQL5.7中文乱码问题_第2张图片

以上字符的含义:

character_set_client :客户端使用的字符集

character_set_connection :客户端到服务器默认转换的编码

character_set_database :数据库创建时默认的字符集(MySQL 5.7.6 后不推荐使用)

character_set_filesystem :导入导出时文件名字符集,默认binary则保持与client设置一样

character_set_results :服务器查询结果到客户端字符集

character_set_server :数据库创建时默认的字符集

character_set_system :系统默认元数据字符集,总是为 “utf8”

 

三、

修改字符集编码:

打开MySQL在命令行中:

如下命令改变字符集:

mysql> SET character_set_client = utf8 ;  

mysql> SET character_set_connection = utf8 ;   

mysql> SET character_set_database = utf8 ;   

mysql> SET character_set_results = utf8 ;    

mysql> SET character_set_server = utf8 ;   

 

修改配置文件:

找到my.ini文件(一般在MySQL的安装目录下,有部分用户是在C:\ProgramData\MySQL\MySQL Server 5.7下)

修改该文件:

在[mysql]下,添加:default-character-set=utf8

在[mysqld]下,添加:character-set-server=utf8

完成后重启MySQL

 

四、验证是否完成修改

Win10 MySQL5.7中文乱码问题_第3张图片

 

以上解决win10 中MySQL5.7的中文乱码问题

 

更新:

有部分用户通过以上修改后,在MySQL新创建表后可以正常插入中文字符,但是原来的数据库不能插入中文字符,有空再将这个原因找到并发布上来,如果有人已经解决该问题,欢迎下方留言解决方案或解决方案链接,谢谢!

 

 

 

 

 

 

 

你可能感兴趣的:(MySQL)