我正在使用存储过程使用 Spring Framework 的存储过程类将一些数据插入 SQL 2005 DB。类声明有点像:
private class InsertShippingAddress extends StoredProcedure {
public InsertShippingAddress(final DataSource ds) {
super(ds, "usp_adiPromoInsertShippingDetail");
super.declareParameter(new SqlParameter("in_FirstName", Types.VARCHAR));
compile();
}
}
我正在执行 SP,例如:
final InsertShippingAddress insertShippingAddress = new InsertShippingAddress(
getJdbcTemplate().getDataSource());
final Map<String, Object> inParams = new HashMap<String, Object>();
inParams.put("in_FirstName", name);
insertShippingAddress.execute(inParams);
现在的问题是,名称字符串包含法语中的重音字符,但是在存储时,字符串 èüÀÔàéu¨A
以扭曲的方式存储为 e O^a`e´。但如果我真的去通过 SQL 管理工作室执行 SP,它会正确保存。我不知道我哪里错了。请帮忙。
提前致谢, 纳兰