连接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重新创建。