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: replication: problem with character "degree" celcius

Re: replication: problem with character "degree" celcius

From: Charles Hooper <hooperc2000_at_yahoo.com>
Date: Tue, 12 Jun 2007 04:39:21 -0700
Message-ID: <1181648361.044190.16590@z28g2000prd.googlegroups.com>


On Jun 12, 6:03 am, Daud <dau..._at_hotmail.com> wrote:
> Source database characterset US7ASCII (9.2.0.7.0)
> Target database characterset WE8ISO8859P1 (9.2.0.8.0)
>
> Have done the following:
>
> 1 - set NLS_LANG to AMERICAN_AMERICA.US7ASCII on target database
> 2 - set ORA_NLS33 variable on target database
>
> The character above still appear as "?" in the target database. What
> do I need to do to solve this?
>
> Thanks
>
> Daud

US7ASCII supports a maximum of 7 bits per character, allowing a maximum ASCII value of 127 (2^7 - 1):
SELECT
  POWER(2,7)-1 MAX_CHR,
  CHR(176),
  ASCII('°')
FROM
  DUAL; SQL*Plus (Windows version):

   MAX_CHR C ASCII('°')
---------- - ----------

       127 ° 176

SQL*Plus (DOS Command line version):
SQL> SELECT
  2 POWER(2,7)-1 MAX_CHR,
  3 CHR(176),
  4 ASCII('°')
  5 FROM
  6 DUAL;    MAX_CHR C ASCII(' ')
---------- - ----------

       127 248

The problem appears to be that Oracle permitted your application to store an 8 bit ASCII value in a 7 bit ASCII database: 176 > 127.

Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. Received on Tue Jun 12 2007 - 06:39:21 CDT

Original text of this message

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