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);
問題は、フランス語のアクセント付き文字を含む名前文字列ですが、保存中に文字列èüÀÔàéがe u¨A
O^a`e´として歪んだ方法で保存されることです。しかし、実際に SQL 管理スタジオを使用して SP を実行すると、正しく保存されます。どこが間違っているのかわかりません。助けてください。
前もってありがとう、ナレイン