数据库表插入中文字符时报错,意味着你尝试将一个不符合当前列字符集的字符串值插入到数据库表的某个列中。在这个例子中,'\xE5\xBC\xA0\xE4\xB8\x89' 是"张"字的UTF-8编码,而列'name'可能使用的是Latin1字符集或其他不支持UTF-8的字符集。
解决方法:
确认数据库和表的字符集设置是否支持存储UTF-8字符。可以通过以下SQL命令查看和修改字符集设置:
mysql
-- 查看数据库字符集设置
SHOW VARIABLES LIKE 'character_set_database';
-- 查看表字符集设置
SHOW TABLE STATUS LIKE 'your_table_name';
-- 修改数据库字符集
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 修改表字符集
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;