Home > Archive > Oracle Server > July 2005 > store $FF on Oracle9 with VARCHAR2 type









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author store $FF on Oracle9 with VARCHAR2 type
pcouas@infodev.fr

2005-07-14, 9:23 am

Hi,


Before i use an Oracle8.0.4 on AIX 4.3.2 and i could store $FF value
in VARCHAR2 type.
Now i have an Oracle9.2.0.4 on Redhat and $FF are translated to $7F,
I could not use RAW type
My Charset is US7ASCII
So, How could i store $FF ?

Thanks
Philippe
Svend Jensen

2005-07-14, 1:23 pm

pcouas@infodev.fr wrote:
> Hi,
>
>
> Before i use an Oracle8.0.4 on AIX 4.3.2 and i could store $FF value
> in VARCHAR2 type.
> Now i have an Oracle9.2.0.4 on Redhat and $FF are translated to $7F,
> I could not use RAW type
> My Charset is US7ASCII
> So, How could i store $FF ?
>
> Thanks
> Philippe


You can't.

You use 7 bit us-ascii, max. value for 7 bit is 0x7F.

Create new 8 bit database or switch charset.

rgds
/Svend
pcouas@infodev.fr

2005-07-18, 3:23 am

Hi,

Could you says me which charset using 8 bit ?

Regards
Philippe
sybrandb@yahoo.com

2005-07-18, 3:23 am

The default 8-bit characterset for *nixes is
WE8ISO8859P15

Obviously this is documented (in the Globalization manual) and
apparently you refuse to read documentation.

--
Sybrand Bakker
Senior Oracle DBA

pcouas@infodev.fr

2005-07-20, 11:23 am

Hi,

I have replace USASCII charset by WE8ISO8859P1, but i could not insert
0xff value in my VARCHAR2 field and i could not use RAW type, because
my supplier don't use it.

Regards

Philippe
pcouas@infodev.fr

2005-07-20, 1:23 pm

Hi,

I have changed my charset to WE8ISO8859P1 without best result .
I could not insert 0xff value in my Oracle 9.2.0.4 Database.
mY VARCHAR2 field don't accept it, and i could not use RAWTYPE

Regards
Philippe
Frank van Bortel

2005-07-20, 8:23 pm

pcouas@infodev.fr wrote:
> Hi,
>
> I have changed my charset to WE8ISO8859P1 without best result .
> I could not insert 0xff value in my Oracle 9.2.0.4 Database.
> mY VARCHAR2 field don't accept it, and i could not use RAWTYPE
>
> Regards
> Philippe

Please explain WHERE you changed the character set from US7ASCII
to WE8ISO8859P1 - it should be the database, not (only) the
client

--
Regards,
Frank van Bortel
pcouas@infodev.fr

2005-07-21, 3:23 am

Hi,

I have changed in DataBase

ALTER DATABASE CHARACTER SET <new set>;
ALTER DATABASE NATIONAL CHARACTER SET <new national set> ;

Philippe
pcouas@infodev.fr

2005-07-21, 3:23 am

Hi,


My Database parameters are now

PARAMETER VALUE
NLS_LANGUAGE AMERICA
N
NLS_TERRITORY AMERIC
A
NLS_CURRENCY $
NLS_ISO_CURRENCY AME
RICA
NLS_NUMERIC_CHARACTE
RS .,
NLS_CHARACTERSET WE8
ISO8859P1
NLS_CALENDAR GREGORI
AN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AM
ERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT H
H.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FOR
MAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS
BYTE
NLS_NCHAR_CONV_EXCP
FALSE
NLS_NCHAR_CHARACTERS
ET AL16UTF16
NLS_RDBMS_VERSION 9.2.0.4.0


Regards
Philippe
Frank van Bortel

2005-07-21, 11:23 am

pcouas@infodev.fr wrote:
> Hi,
>
>
> My Database parameters are now
>
> PARAMETER VALUE
> NLS_LANGUAGE AMERICA
N
> NLS_TERRITORY AMERIC
A
> NLS_CURRENCY $
> NLS_ISO_CURRENCY AME
RICA
> NLS_NUMERIC_CHARACTE
RS .,
> NLS_CHARACTERSET WE8
ISO8859P1


OK - looks fine.

What error occurs, and how do you insert?

--
Regards,
Frank van Bortel
pcouas@infodev.fr

2005-07-22, 3:23 am

Hi,

Insert is made by Program, i don't see SQL parameters.
(If you have SQL instruction for insert directly !)

$FF are translated to $7C

Regards
Philippe
sybrandb@yahoo.com

2005-07-22, 7:23 am

So the MSB is stripped off, and you have a 7-bit characterset (or 7-bit
characterset settings) in the database/ on the database server, and
8-bit settings at the client side.
Or in the past, you had 7-bit client and 7-bit database. As
charactersets are equal, there will be no conversion and bit 7 will
pass. However, as soon as you export it, using 7-bit NLS_LANG settings,
exp will strip bit 7.
And when you re-import it, the 8-bit characters won't automagically
arise from their grave.
(This only 'appens in the British comedy 'Allo 'Allo, where the bravest
man of France is catapulted from his grave on a telescope antenna ;)

Hth

--
Sybrand Bakker
Senior Oracle DBA

pcouas@infodev.fr

2005-07-22, 9:23 am

Just an Idea,

There is no NLS_CHARSET in my Linux variable environnement for my Linux user ?
Do you think this is an problems ??

Regards
Philippe
Frank van Bortel

2005-07-22, 1:23 pm

pcouas@infodev.fr wrote:
> Just an Idea,
>
> There is no NLS_CHARSET in my Linux variable environnement for my Linux user ?
> Do you think this is an problems ??
>
> Regards
> Philippe

default would be AMERICAN_AMERICA.US7ASCII, so....

--
Regards,
Frank van Bortel
Maxim Demenko

2005-07-22, 8:23 pm

pcouas@infodev.fr wrote:
> Just an Idea,
>
> There is no NLS_CHARSET in my Linux variable environnement for my Linux user ?
> Do you think this is an problems ??
>
> Regards
> Philippe



For your linux environment locale are following variables responsible:
LC_CTYPE
LC_COLLATE
LC_MONETARY
LC_NUMERIC
LC_TIME
LC_MESSAGES
LC_ALL
LANG

Oracle evaluates NLS_LANG variable, but has no clue about NLS_CHARSET.
NLS_CHARSET variable can be set, but it will be not evaluated nor from
linux, neither from oracle.
In Oracle terms NLS_CHARSET is used for characterset of your database,
which you can define by creation of database and later ( under some
circumstances ) change only by "ALTER DATABASE CHARACTER SET
new_character_set" (
http://download-west.oracle.com/doc...h10.htm#1009904
http://download-uk.oracle.com/docs/....htm#sthref1343)
and you can not control it by setting of environment variables.

Best regards

Maxim
pcouas@infodev.fr

2005-07-25, 3:26 am

Ok,

I tried to modify my Linux Language with

export LANG=en_US
export NLS_LANG=americain_a
merica.WE8ISO8859P1

Philippe
pcouas@infodev.fr

2005-07-25, 3:26 am

Hi,

I have changed my i18n file to French for accent problem after
installing Oracle's database like this

LANG="fr_FR.UTF-8"
SUPPORTED="fr_FR.UTF-8:fr_FR:fr"
SYSFONT="latarcyrheb-sun16"

This is perhaps my problem i modify it to
LANG="en_US"
NLS_LANG="americain_america.WE8ISO8859P1"
But i don't know which value for SUPPORTED and SYSFONT ??

Regards
Philippe
Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com