ERROR 1366 (HY000): Incorrect string value: '\xE4\xB8\xBB' for column 'name' at row 1

原因发生条件:

mysql> insert into zhy values('主',12);
ERROR 1366 (HY000): Incorrect string value: '\xE4\xB8\xBB' for column 'name' at row 1
表示在建表的时候没有使用中文编码,所有存不了相应的中文数据

可以通过以下的命令查看,该表现在使用的编码是字符集latin1,非中文编码

mysql> show create table zhy;
+-------+------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                           |
+-------+------------------------------------------------------------------------------------------------------------------------+
| zhy   | CREATE TABLE `zhy` (
  `name` char(6) DEFAULT NULL,
  `age` int(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

处理的方式:在建表的时候就应该指定相应的编码,建表后在该在mysql数据库中是无效的。

mysql> create table 学生信息表(姓名 char(15), 班级 char(7)) default charset=utf8 ;
Query OK, 0 rows affected (1.43 sec)

mysql> insert into 学生信息表 values("小名","4班");
Query OK, 1 row affected (0.06 sec)


 

猜你喜欢

转载自blog.csdn.net/zhydream77/article/details/81155606