mysql> INSERT INTO t_stu VALUES(1,'张三','男'); ERROR 1366 (HY000): Incorrect string value: 'xD5xC5xC8xFD' for column 'sname' at row 1修改my.ini配置文件
在路径:C:ProgramDataMySQLMySQL Server 5.7my.ini 找到my.ini文件 修改内容1: 找到[mysql]命令,大概在63行左右,在其下一行添加 default-character-set=utf8 修改内容2: 找到[mysqld]命令,大概在76行左右,在其下一行添加 character-set-server=utf8 collation-server=utf8_general_ci 修改完毕后,重启MySQL57服务
查看编码命令
show variables like 'character_%'; show variables like 'collation_%';
- 如果是以上配置就说明对了
mysql> INSERT INTO t_stu VALUES(1,'张三','男'); ERROR 1366 (HY000): Incorrect string value: 'xD5xC5xC8xFD' for column 'sname' at row 1
原因:按照刚才的配置,服务器端认为你的客户端的字符集是utf-8,而实际上你的客户端的字符集是GBK。
查看所有字符集:SHOW VARIABLES LIKE ‘character_set_%’;
解决方案,设置当前连接的客户端字符集 “SET NAMES GBK;”
set names gbk;是为了告诉服务器,客户端用的GBK编码,防止乱码。
有的时候,这样还不能解决,例如,某些win10操作系统环境下,那么修改命令行的属性-》选项-》勾选使用旧版控制台,然后重启电脑



