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: why is oracle 8.15 substituting # for £

Re: why is oracle 8.15 substituting # for £

From: Martin Haltmayer <Martin.Haltmayer_at_d2mail.de>
Date: Wed, 20 Mar 2002 10:39:32 +0100
Message-ID: <3C9858D4.C9B4C245@d2mail.de>


It is very unlikely that it has anything to do with 7bit vs. 8bit because both the hash sign and the pound sign are the same ASCII code, and they are both 7bit (35 = 0x23).

I assume the difference is the representation. In USASCII it is the pound sign whereas in any ISO8859 it is the hash sign. (Similar will hold for dollar sign vs. currency symbol which looks like a sun with four rays.) So your terminal is displaying the pound sign whereas toad displays as the hash sign. Try setting NLS_LANG to AMERICAN_AMERICA.USASCII7.

Regards,

Martin

koert54 wrote:
>
> You should check the NLS_LANG variable on client & middle tier and character
> set
> of your database.
> On your client and middle tier the characterset part of NLS_LANG should be
> set on
> a 'compatible' characterset with your terminal or OS.
>
> The database characterset should also be 'compatble' with this - it should
> be
> able to hold these characters. For example - a 7bit (US7ASCII) database
> characterset will get you in troubles if you're inserting and selecting with
> different 8bit
> characterset on different clients ! However if the 8bit charactersets on the
> clients are
> the same it's 'possible' to get good results back - but cleary, 8bit client
> charactersets
> need an 8bit characterset on the DB or data can be lost during conversion.
> All this can be very confusing and it's allways a *shit* problem to get good
> results !
> Maybe I'm using a bad example here this is something I come across all the
> time !
>
> I'm guessing you're working on windows platform here - check the following
> url's for
> valid codepages - NLS_LANG should reflect the codepage of the OS/terminal
> http://www.microsoft.com/globaldev/reference/oslocverions.asp
>
> I would first do the following tests :
> On the client (toad) :
> 1. check NLS_LANG (check the registry with regedit)
> 2. insert a value (£) in a test table
> then on the middle tier :
> 1. check NLS_LANG (if windoz -> regedit - unix env variable)
> 2. select the data from the test table
> -> if you get a wrong result then NLS_LANG on either client or middle tier
> is wrong
>
> Good luck and happy hunting !
>
> "zdy" <zdyzoo_at_yahoo.co.uk> wrote in message
> news:611b5e55.0203120245.43d75469_at_posting.google.com...
> > Hi,
> > I'm new to oracle and have just working with a big existing DB with no
> > documentation. When text is entered into the database, through ADO &
> > ODBC or through the SQL interface in Toad, £ symbols are replaced with
> > #. There are no triggers on this table and the data type is Varchar2.
> > I'm able to work around the problem by using replace functions at the
> > middle tier, but I would really like to know why this is happening.
> > Thanks,
> > Zdy
Received on Wed Mar 20 2002 - 03:39:32 CST

Original text of this message

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