Incorrect string value: '\xE6\x9B\xBE\xE5\x8D\x8E' for column 'Sname' at row 1
时间: 2023-08-10 20:02:33 浏览: 66
这个错误通常是由于数据库字符集不兼容导致的。数据库默认的字符集可能是不支持存储特定字符的。
您可以尝试修改数据库的字符集,将其改为支持存储中文字符的字符集,如UTF-8。可以通过以下步骤来修改:
1. 首先,确认您的数据库当前使用的字符集。您可以使用以下SQL查询来查看:
```sql
SHOW VARIABLES LIKE 'character_set_database';
```
2. 如果当前字符集不是UTF-8,您可以使用以下SQL语句修改数据库的字符集为UTF-8:
```sql
ALTER DATABASE person CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
这将把数据库的字符集改为UTF-8。
3. 在创建表之前,您还需要确保表的字符集也是UTF-8。可以使用以下SQL语句来创建表:
```sql
CREATE TABLE students (
Sno INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
Sname VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
Ssex VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
Sbirthday DATETIME,
SClass VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
);
```
这样,表中的字符列将使用UTF-8字符集来存储数据。
通过上述步骤,您应该能够成功创建表并存储包含中文字符的数据。请注意,在修改字符集之后,现有的数据可能需要进行转换才能正确显示。