Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: why is oracle 8.15 substituting # for £
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 Tue Mar 12 2002 - 05:08:48 CST