解决sql插入中文问题
出现的错误(Incorrect string value: ‘\xD5\xC5\xC8\xFD’ for column ‘列名’ at row 1)
出现的原因
默认字符集不为utf-8
mysql解决办法
- 创建表格时同时设置字符集
create table t_Users(
userName varchar(20) primary key,
password varchar(20) not null,
name varchar(20) not null,
idCard char(19) unique,
accountNo varchar(20) not null
)default charset=utf8;
- 在JDBC连接的时候设置字符编码为utf8
DriverManager.getConnection("jdbc:mysql://localhost:3306/user?characterEncoding=utf8", userName, password);
sqlserver解决办法
- 如果排序规则(也可以看为字符集)为Chinese_PRC_CI_AS则不需要修改,否则使用以下代码修改数据库的排序规则
- 创建数据库时设置排序规则
CREATE DATABASE paas COLLATE Chinese_PRC_CI_AS
GO
- 修改已创建的数据库排序规则
ALTER DATABASE paas COLLATE Chinese_PRC_CI_AS
GO
- 在JDBC连接的时候设置字符编码为utf8
DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DataBaseName=数据库名字;characterEncoding=utf8", "sa", password);