How to change the NLS_NCHAR_CHARACTERSET from WE8ISO8859P1 to AL16UTF16 ?

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Hybrid View

How to change the NLS_NCHAR_CHARACTERSET from WE8ISO8859P1 to AL16UTF16 ?

Hi,

My customer have an Oracle9i. (in Brazil).

I already loaded all the data that I need, and I have problem with the Brazilian character accentuation.

The data with accentuation in the database are stored correctly, (I can see it fine using a SELECT manually in SQLPLUS or TOAD)

But I built a xHarbour program to access it and the accentuation appears bad in the screen (dos windows) (crazy characters appears).

I already was created another Oracle9i database in my notebook and I can see the characters with accentuation fine, therefore I have only accentuation problems when run my xHarbour program against the database of mu customer.

I noticed that the NLS_NCHAR_CHARACTERSET in the database of my customer is set to WE8ISO8859P1.

I my local Oracle9i Database, the NLS_NCHAR_CHARACTERSET is set to AL16UTF16

I believe this is the problem.!!

My question is:

How to change the NLS_NCHAR_CHARACTERSET f
rom WE8ISO8859P1 to AL16UTF16 ?

Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

Your response is logic, but pay attention that my customer have 3 others Oracle9i Servers (Windows Server 2003) configured with NLS_NCHAR_CHARACTERSET=AL16UTF16, and working against this servers I can see the Brasilian characters "fine" from the xHarbour client program. (xHabour is similiar to the Clipper lenguage with functions to connect to Oracle)

I have problems with Brazilian characters when working "only" against the server configured with NLS_NCHAR_CHARACTERSET = WE8ISO8859P1 (My customer have just one Oracle9i Server configured with NLS_NCHAR_CHARACTERSET = WE8ISO8859P1.

All the other Oracle9i servers are configured with NLS_NCHAR_CHARACTERSET = AL16UTF16 (since the database creation), and I have not problems with this servers.

So, my question is:

How to change the NLS_NCHAR_CHARACTERSET from WE8ISO8859P1 to AL16UTF16 in Oracle9i ?

I believe is something like ALTER SESSION, ALTER DATABASE, etc, but I am not sure. I want to make this change permanently.