连接mysql 报错 [HY000][1366] Incorrect string value: '\xE5\xB0\x8F\xE9\xB8\xA3' for column 'name' at row 1

出错原因:数据库字符编码问题


cmd打开mysql查看

show variables like 'character%';
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       | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

应将Value值改为  utf8     上面是已经修改过的。

 

修改: 

在mysql根目录下修改 my.ini 文件

PS C:\Program Files\MySQL\MySQL Server 5.7> ls


    目录: C:\Program Files\MySQL\MySQL Server 5.7


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2020/10/19      9:44                bin
d-----        2020/10/19      9:44                docs
d-----        2020/10/19      9:44                include
d-----        2020/10/19      9:45                lib
d-----        2020/10/19      9:45                share
-a----          2020/6/2     13:05         275393 LICENSE
-a----        2020/10/19     14:56            114 my.ini
-a----          2020/6/2     13:05            587 README

如果没有请创建一个

内容修改如下:

[client]
default-character-set = utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set = utf8

保存后,restart   MySQL服务,再次尝试。

 

如果继续报错,将之前创建的database  drop掉,再次创建一个。

 

以上过程参考网上博客,我在修改的过程遇到

character_set_database
character_set_server

两个字段值修改my.ini后没变化

解决方法:

打开MySQL  Workbench 输入密码登录后,打开左侧Option File

 

 

 下滑到底,将character-set-server改为utf8, 重启服务后即可成功修改。 插入数据时还是报错就drop掉database重新创建。

 

posted @ 2020-10-19 15:30  Dawn-bin  阅读(758)  评论(0编辑  收藏  举报