Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

International Character support

Warren SAug 7 2014 — edited Aug 9 2014

We are in the process of converting from Oracle 10g to Oracle 11g.  We have a spatial table that contains a column for city.  In the 10g database the column is defined as varchar2(50) in the 11g database it's defined as nvarchar2(50).  The database is defined as UTF8.  In the 10g database the data was inserted using and ESRI sde command executed from a Pro*C program.  In Oracle 11 we're using a SQL "insert" statement to insert the record to the table.  In the case of 'MONTRÉAL' the E with the accent mark is not being saved correctly to the database.  If you run a SQL insert using SQLPLUS on the database server to insert the record and then select the record it looks correct but if you use SQLDeveloper on a Windows7 machine the E in not printable.  What needs to be set for the Pro*C program to communicate correctly with the Oracle 11 database when using international characters.

Comments

First question, why do you migrate to nvarchar2?  It makes little sense in an UTF8 database (assuming you mean NLS_CHARACTERSET=UTF8).

Thanks,

Sergiusz

Warren S

Hello,

Thanks for responding.  The change was made by our data design team when converting from Oracle 10 to 11.  Until now the data design team did not look at the database but as part of our new process they now have to review the database and make changes they feel are necessary.

To double-check, please issue

SELECT value FROM nls_database_parameters

WHERE parameter LIKE '%CHARACTERSET'

and let me know the result.

I strongly recommend using VARCHAR2 columns and the AL32UTF8 database character set. NVARCHAR2 should be used only in very specific cases.

Thanks,

Sergiusz

Warren S

1 UTF8

2 UTF8

1. What is the operating system where you run SQL*Plus?

2. On the inserted value 'MONTRÉAL', please run:

SELECT DUMP(<column with the value 'MONTRÉAL'>,1016) FROM <table with the value 'MONTRÉAL'> WHERE <condition to select the row with 'MONTRÉAL'>

and let me know the result.

Thanks,

Sergiusz

1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 6 2014
Added on Aug 7 2014
5 comments
1,583 views