Re: NLS question

From: De DBA <dedba_at_tpg.com.au>
Date: Tue, 15 Mar 2011 10:28:57 +1000
Message-ID: <4D7EB2C9.7020907_at_tpg.com.au>



Jimmy,

Sorry for the late reply, I only now saw your question. In the past when I had to work with US7ASCII databases (and other situations where the client char set differed from the database character set), I've always found that the only way to retrieve the data as it was entered is to configure the querying client app with the same character set as the inserting client used. This can be quite fun, e.g. when the querying client is deployed on some Unix environment that uses WE8ISO8859P1 by default and the inserting client was a windows based program using WE8MSWIN1252. The solution is to set the NLS_LANG parameter in the environment of the querying client to whatever it defaulted to on the inserting client, e.g.:

   C:> set NLS_LANG=american_america.WE8ISO8859P1    C:> sqlplus /

Hth,

Tony.

Jimmy Brock wrote:
> Jimmy,
>
> NLS_CHARACTERSET=US7ASCII means 256 characters see http://www.asciitable.com/
>
>
> that's not 100% true.
> only the first 127 char are defined.
> That's what the 7 is standing for - ASCII 7-bit America
>
> Yes, you can trick the DB to store some 8-bit values. This will
> bring you into a huge load of fun.
>
> sorry,
> Martin
>
>
>
> Good catch! I don't why I typed 256 characters. Actually, it is 128
> characters - chr(0) to chr(127).
>
> I checked MOS and Oracle recommends using character set WE8MSWIN1252,
> which is a superset of WE8ISO8859P1, P9, P15 and US7ASCII.
>
> --
> Jimmy Brock

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Mar 14 2011 - 19:28:57 CDT

Original text of this message