Holliday, Donald B. (LNG-CSP) wrote:

Actually, Oracle doesn't "totally supports UTF-8" unless you specifically
alter the database to do that.  By default, Oracle installs as USASCII7.
Even installed as USASCII7 (x00 - x7f), Oracle will correctly store and
deliver 8859-1 (Western European 8) (x00 - xff) because Oracle stores bytes
as 8 bit bytes rather than 7 bit bytes.  In UTF-8, any character value
greater then x7f is represented by two or more bytes.

This is true for Oracle 8x in the United States.  I assume it is also true
for Oracle 9x.

I'd check with the DBA and verify that the Oracle instance has been altered
to accept UTF-8.

Thanks,

Donald Holliday


1) The default charset of the Oracle database must be changed to UTF-8.

2) Any existing data in the database prior to changing the charset are not "converted" to UTF-8. Thus, you will still get "junk" if you try to read CHARs / VARCHARs from Oracle that were inserted prior to changing the default charset to UTF-8.

3) Even if the Oracle database was installed with a default charset of USASCII7, when using JDBC, somehow, the database ( or the JDBC driver ) still allows characters beyond the ASCII range.

4) The Oracle JDBC thin driver automatically converts Strings to and from Oracle's default charset

5) The Oracle JDBC-OCI driver does not. You have to specify the default charset of the database by an environment variable ( NLS_LANG ).





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to