Showing results for 
Search instead for 
Did you mean: 

At Wits End Configuring NLS for Oracle

Go to solution
Jack C. Mahaffey
Super Advisor

At Wits End Configuring NLS for Oracle

I need to be able store and retrieve the Trademark ???, Copyright ?? and Registered ?? symbols as part of text in my database. The database resides on HP-UX and is Oracle 7.3.4. Database is created using AMERICAN_AMERICA.WE8ISO8859P1 NLS settings.

Here's my problems.

1 Characters do not get displayed properly using sqlplus or svrmgrl on the server. Using select chr(153) does not return the trademark ??? symbol.

2 The only application that successfully displays the characters is the Oracle 8 SQLPlus Worksheet.

3 Characters are not displayed properly on the Oracle 7 versions of sqlplus and worksheet. The worksheet, however, will properly display the copyright and registered ssymbols.

What in the heck am I doing wrong? I've set the NLS_LANG variable in both UNIX and Windows.

Andreas D. Skjervold
Honored Contributor

Re: At Wits End Configuring NLS for Oracle


The trick here is having the client side configured with the same character set as the server (WE8ISO8859P1).

Since this works on your SQL*Worksheet my guess is that you have several ORACLE_HOMES on your client machine (Windows) and that SQL*PLus uses a different OH than the worksheet.

If SQL*Worksheet is installed as part of the Enterprice Manager it might very well have ended up in a different ORACLE_HOME.

Run REGEDIT and check the settings.

Only by ignoring what everyone think is important, can you be aware of what everyone ignores!
Honored Contributor

Re: At Wits End Configuring NLS for Oracle

hi Mr. Jack.

I did some queries on Metalink.

Again, you should check your environment settings.

Also, check the precedence issue:

19. Which NLS parameters take precedence?

The default values for LANGUAGE, TERRITORY and derived parameters such as NLS_CURRENCY and NLS_DATE_FORMAT are set to the American defaults when the database is created. These can be overridden for the database at instance level by setting them in init.ora.

The client products take their defaults from NLS_LANG (which defaults to AMERICAN_AMERICA.US7ASCII if not set). Individual parameters can be set to override the derived defaults eg: NLS_DATE_FORMAT, NLS_CALENDAR.

Setting these parameters causes an alter session command to be issued when the user logs in. An explicit alter session command , eg:

alter session set nls_sort=german

will override such parameter settings. NLS_LANG must be set for the individual parameters to be accepted.

20. How can I issue alter session commands to change my NLS parameter settings in an application?

Use the database procedure,dbms_session.set_nls(), which takes the name of the parameter plus its value, eg:


Note the single quotes - the value must be exactly as it would be typed in an alter session command, eg:

alter session set nls_date_format = 'dd/mm/yyyy';

From: Oracle, SAMRAT SEN 31-Aug-00 06:14
Subject: Re : insert special symbols through shortcut keys into text field

Hi Srini,

You can insert special characters like (??,??? etc.) into forms' text fields.

Go to windows Start->Programs->Accessories->Character Map,the Unicode Character Map window will open.

You can get the key strokes required for the special character you need by selecting the font you are using in your form from the dropdown list provided in the window.

For example,for the Times New Roman font the key strokes required for the ?? symbol are:Alt+0174.

Thanks and regards.
Samrat Sen
Oracle Support Services

See also, the attached document which deals with a similar issue -- EURO characters.

Hope this helps!
Best Regards
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
harry d brown jr
Honored Contributor

Re: At Wits End Configuring NLS for Oracle


The forum has a new feature that allows you to view any past QUESTIONS you have posted, which allows you to find replies that you haven't acknowledged.

This member has assigned points to 155 of 226 responses to his/her questions.,,CA333920!1!questions,00.html

live free or die
Live Free or Die
Jack C. Mahaffey
Super Advisor

Re: At Wits End Configuring NLS for Oracle

Thanks for the help thus far. I've checked the registry and each of my Oracle Homes sets NLS_LANG to AMERICAN_AMERICA.WE8ISO8859P1 I even created a system variable for the character set.

Thanks for the document on chcp. I tried running chcp 1252 and then ran the applications, but still no luck.

I'm going to change the character set on my workstation to AMERICAN_AMERICA.WE8MSWIN1252 and see if I have any help.

I can cut and paste the output from the Windows client to winword and the symbol is displayed.

The royal mess will be figuring out how to display the trademark on the HP. We want to be able to print and view the symbols using MOTIF applications.

I'm a little smarter. Thanks for the help.

Jack C. Mahaffey
Super Advisor

Re: At Wits End Configuring NLS for Oracle

Thanks for the info for finding the questions that I have posted. Very useful. My browser has had the habit of not taking some of my rating updates where I've needed to go back multiple times to reenter the points.

It would be nice, maybe I missed it, if we could go to a listing where points have not been assigned or where the question is awaiting response from the originator.