Mysql 5.7 报错:1366 Incorrect string value:如何解决?

【问题描述】

今天在SQLyog数据库可视化工具里,学习如何查询数据表,创建模拟数据,向数据表里面插入数据时提示:“错误代码:1366 Incorrect string value: ‘\xE8\xA7\xA3\xE5\x86\xB3’ for column ‘brand’ at row 1’

【问题原因】

安装MySQL 5.7时没配置utf-8编码导致的,
打开 cmd 输入:mysql -u root -p 输入密码 链接数据库
输入:SHOW VARIABLES LIKE ‘character%’;
来显示mysql当前使用的编码
在这里插入图片描述
MySQL5.7默认字符配置中可以看出,character_set_databasecharacter_set_server 的字符集使用了 latin1 编码方式,latin1编码是不支持中文的,所以存储中文时会报错

【解决方法】

打开电脑 C盘 找到 ProgramData文件夹,没有打开设置的显示隐藏项目显示,是看不到ProgramData这个文件夹的
在这里插入图片描述
打开路径:ProgramData\MySQL\MySQL Server 5.7 找到 my.ini
在这里插入图片描述
打开my.ini ,在文件内的下增加如下几行代码:
[client]
default-character-set=utf8
在这里插入图片描述
[mysql]
default-character-set=utf8
在这里插入图片描述

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
在这里插入图片描述
返回 cmd 输入:net stop mysql 关闭数据库
在这里插入图片描述
输入:net start mysql 重启数据库
在这里插入图片描述
重新连接MySQL查看当前字符集 输入:SHOW VARIABLES LIKE ‘character%’;
在这里插入图片描述

问题完美解决,楼主苦苦找了2小时终于解决了,写的比较繁琐,方便小白学习借鉴,如有错误请大佬指出。

  • 15
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值