项目场景:
整合SSM,配置数据库时已添加参数:?characterEncoding=UTF-8
,向数据库中插入数据
问题描述:
在向数据库插入中文数据时报500错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
原因分析:
数据库默认的编码为:latin1
,不支持中文,需要修改数据库的编码。
解决方案:
设置数据库的的编码方式:
alter table score default character set utf8;
有时仅仅设置表的编码并不能解决问题,原因是列的编码依然还是latin1
show create table score;
这时需要单独设置列的编码才可以:
alter table score change score score varchar(50) character set utf8;
之后便可以插入中文数据。