Calling a stored procedure from Java with ojdbc 1.4 corrupts (converts to ¿) unicode characters that are not contained in DB's current charset.
Calling this proc from C# works as expected (all unicode characters are properly stored).
Do you have any idea what is the cause?
Note: this is a simplification of my previous post
Calling this proc from C# works as expected (all unicode characters are properly stored).
Code:
String driver = "oracle.jdbc.OracleDriver";
Class.forName(driver);
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
conn = DriverManager.getConnection(url, username, password);
CallableStatement storedProc = conn.prepareCall("{call SMSC.p_smsu_campaign_insert(?,?,?,?,?,?)}");
String campaign="_šđčćž ò#±¦ţ!ę";
storedProc.setString("Campaign_name", campaign); //<----problem here!
//Campaign_name parameter in DB is nchar type (oracle's unicode type)
/*set other parameters*/
storedProc.execute();
Note: this is a simplification of my previous post
Comment