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_database 和 character_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%’;
————————————————
版权声明:本文为CSDN博主「枫叶雲」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44915145/article/details/124180903