Non ASCII Characters Being Inserted Into US7ASCII DB Using Thin JDBC Driver
Last updated on MARCH 15, 2017
Applies to:JDBC - Version 22.214.171.124 and later
Information in this document applies to any platform.
While inserting a non-ascii character using THIN driver(such as u+00e1, ÃÂ¡, or u+2019, Ã¢ÂÂ (unicode apostrophe)), then the value is NOT converted to it's US7ASCII substitution character when the
database characters set is US7ASCII.
JDBC THIN Behaves differently compared to JDBC OCI :-
(OraclePreparedStatement)conn.prepareStatement("insert into t_foo values(?)");
String val = "\u00e1";
If the connection is done via the 'thin' driver, then the value 0xE1 is in the database.
Then do :
Typ=1 Len=1 CharacterSet=US7ASCII: e1
However when the JDBC-OCI driver is used, it works correctly, and the proper
substitution character is used (lower case 'a')
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms