Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

NLS_LANG Problem

Status
Not open for further replies.

royjimenez

Programmer
Nov 25, 2002
172
0
0
CR
Hi!

I have an Oracle Database and I can save special characters into my db ( for instance á, é, ñ ... ).

I am using Oracle 8.1.7 in an unix server (SUN).
I can see all my data with special character into my db...
if I run a sql "Select name from employees" the resultset can be read as follow:

Pedro Gómez
John Díaz


BUT, from each client I can't see those special characters, those are translated into others ones. I thought about NLS_LANG parameters but I can't find the correct value.

If someone knows about it help me !

Thanks.








The life is too short to cry and long enough to try it... God bless us.
[thumbsup2]
 

The Western european characterset may cover your needs, just set the correct territory and language on the client, something like this:
Code:
NLS_LANG = AMERICA_AMERICAN.WE8ISO8859P15

PS: There is a Windows specific version of this characterset.
[hourglass]



----------------------------------------------------------------------------
The person who says it can't be done should not interrupt the person doing it. -- Chinese proverb
 

HI! ( thank for answering quickly )

I've used this NLS_LANG values:

AMERICAN_AMERICA.WE8MSWIN1252
SPANISH_SPAIN.WE8ISO8859P1
AMERICA_AMERICAN.WE8ISO8859P15 ( I got INVALID NLS.. )

But, I can't see my special characters.

If I run this from the server (unix):

select 'cáll' CALL from dual;

I get : cáll


If I run this from my machine (Windows)
select 'cáll' CALL from dual;

I get : 'cll

I think my problem is NLS_LANG, but I am not sure about the value that I have to use.

It's strange, 'cause I had the same problem with other server but it was using Oracle 9i. I changed NLS_LANG and I resolved the problem.


I am sending the resultset from 'select * from NLS_DATABASE_PARAMETERS' ( see below ). I am not sure if NLS_CHARACTERSET has to do with my problem.

Regards.


PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET US7ASCII
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_NCHAR_CHARACTERSET US7ASCII
NLS_RDBMS_VERSION 8.1.7.0.0







The life is too short to cry and long enough to try it... God bless us.
[thumbsup2]
 
Roy,

Your problem appears to be not with the database (since the Unix is properly interpreting the special characters), but with an incorrect code page on your Windows client. We spent days trying to isolate this same problem. We finally contacted Microsoft Support for help identifying and installing the correct code page on our PCs. Once we got the correct Windows code page installed, everything worked properly.

[santa]Mufasa
(aka Dave of Sandy, Utah, USA)

Do you use Oracle and live or work in Utah, USA?
Then click here to join Utah Oracle Users Group on Tek-Tips.
 

Use the AMERICAN_AMERICA.WE8ISO8859P1:

Set the registry to that value:

HKEY_LOCAL_MACHINE>SOFTWARE>ORACLE

String value: NLS_LANG
Data: AMERICAN_AMERICA.WE8ISO8859P1

Goo luck! [thumbsup2]

----------------------------------------------------------------------------
The person who says it can't be done should not interrupt the person doing it. -- Chinese proverb
 

LKBrwnDBA , but I set it as u told me but it is not working. I supposed the same thing but the problem is alive...

Thanks for your time.

SantaMufasa

I will see this option. If u can fix the problem I will let you know.

Thanks for your time.


The life is too short to cry and long enough to try it... God bless us.
[thumbsup2]
 

Thanks dima -- Was mid-week dislexia (TGIF). [tongue]

----------------------------------------------------------------------------
The person who says it can't be done should not interrupt the person doing it. -- Chinese proverb
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top