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: character set conversion

Re: character set conversion

From: Pjotr <pjotr_at_dolfijn.nl>
Date: Tue, 3 Nov 1998 20:15:33 +0100
Message-ID: <363f56e9.0@wau.nl>


A characterset is a set of characters (nice huh). A long time ago there was somebody who invented ASCII. This is the original characterset we all work with. There are 128 characters in this set and that is 7 bits. This set DOES NOT allow ä, ë, etc.
Then there was somebody else who inventend extended ascii (256 character) and that is 8 bits. This set allows ä, ë, etc. US7ASCII (is says 7) is a ASCII set and is not supposed to understand data with 8 bits (but oracle will store all the 8bits). WE8ISO... is a 8 bit characterset and that does support extended ascii. Now comes the shit:
When two different databases (even instances) have the same characterset there will be no conversion of data. BUT if they are different this happens: -when moving data from a 8-bit database (we8...) to a 7-bit database (us7ascii) sql*net detect that there is a difference and will convert the 8-bit data to seven bits (ä becomes a). It nicely converts the first bit. -the other way around, moving data from a 7-bits database to a 8 bits database sql*net will again try to convert. However, us7ascii supports only the characters with a ascii-number of 0-127. So the conversion will skip the first bit in your data. In this case ä becomes d. So here you will lose data By the way:
Between your client and the database the same thing happens (pc is 8 bits and database 7), change the registry nls_lang (win95) or whatever is necessary on your platform.

sbenyo_at_ibm.net heeft geschreven in bericht <363CE726.1F1ED4E9_at_ibm.net>...
>Hello,
>
>I recently transferred my databases from US7ASCII characterset to
>IW8ISO8859P8.
>(updating the sys.props$ system table)
>The process was very easy and passed with no apperant problems.
>Unfortunately, There is a db-link between two of my databases and
>because the transfer was
>not immediate in all databases, I had rows in IW8ISO8859P8 written into
>a US7ASCII database,
>and of-course they got messed up! (seeing only '????').
>
>1) What is really a characterset and how does it influence the database
>?
>2) Is there a way to get back the data that was written from
>IW8ISO8859P8 into US7ASCII database ?
>
>I really need some explaining in this matter so I'll appreciate any
>help!
>
> 10X
>
>
>Shaul
>
>
Received on Tue Nov 03 1998 - 13:15:33 CST

Original text of this message

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