Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: NLS problem on AIX

Re: NLS problem on AIX

From: William James <William.James_at_dial.pipex.com>
Date: Wed, 2 Jun 1999 23:34:55 +0100
Message-ID: <7j4baa$duf$1@lure.pipex.net>

Peter Laursen wrote in message <01beacde$ccb8c190$2c289a0a_at_apollo>...
>I have a new db on AIX 4.3.2, Oracle 8.0.5 with character set =
>WE8ISO8859P1. I have some problems with the special danish characters <æøå>
>If I work directly on the server <æøå> becomes <fxe> when inserted into the
>database, however when I connect from my NT workstation, using sqlplus,
>everything works fine.
>What might be the problem here?
>
>Thanks
>Peter
>
>
>Examples:
>
>From the 3151 terminal (or telnet) I start sqlplus :
>
>Create table test(a varchar2(10))
>insert into test(a) values('<æøåÆØÅ>')
>commit
>select * from test
>
>a
>---
><fxeFXE>

I guess you have a 7-bit client NLS_LANG setup here, or none which is defaulting
to American_america.US7ASCII. As this differs from the database, it converts the lower
7 bits of your characters before storing them. You then only see the 7-bit equivalent, whatever the client setup.

>
>
>
>
>However if I connect from my NT through net8 everything works fine:
>SQL> select * from test;
>
>A
>----------
><fxeFXE>
>

See above...

>SQL> insert into test(a) values('<æøåÆØÅ>');
>
>1 række er oprettet.
>
>SQL> select * from test;
>
>A
>----------
><fxeFXE>
><æøåÆØÅ>
>

Yes, you have an eight bit client setup, like danish_denmark.WE8ISO8859P1 (sp?)
No help in rescuing your first row, but inserts all 8 bits of the recent one.

>
>Now from the server:
>SQL> select * from test;
>
>A
>----------
><fxeFXE>
><??????>
>

Back to the 7-bit server, which has to convert the 8-bit string to 7 bits, and produces something which probably means it can't do it.

Check or set the NLS_LANG environment variable on your server.

OK, I've got a related problem, which is why I discovered this myself.

I've an embedded SQL application, but it won't respond to changes in the NLS_LANG variable - it always uses the American default. How do I change the charset here?

Bill James
bill_at_lsl.co.uk Received on Wed Jun 02 1999 - 17:34:55 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US