failed:Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1

时间:2021-12-21 17:08:29
Mac 安装了最新的mysql-5.7.19,在数据库中写入中文的时候,出现下面的错误:
mysql> insert into test(name,sec,age) values('张三','男',1);
ERROR 1366 (HY000): Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1

原来是数据库的编码问题,可以用

show variables like '%char%'
查看当前的编码,解决的方式就是,将数据库默认的编码全部改成utf-8


在Mac上,mysql默认的配置文件是/etc/my.cnf或者/etc/mysql/my.cnf。你去查找可能找不到这两个文件,这个时间需要你创建其中的一个,

我创建了/etc/mysql/my.cnf,并在其中输入:

[client]
default-character-set = utf8

[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci

保存后,重启数据库。

你可能不知道怎么重启数据库,这样:

1.

failed:Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1

2.

failed:Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1

3.

failed:Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1