Re: migration from WE8ISO8859P1 to AR8MSWIN1256

From: Laurenz Albe <invite_at_spam.to.invalid>
Date: 01 Dec 2008 11:23:21 GMT
Message-ID: <1228130600.323916@proxy.dienste.wien.at>


shady kazan <shadykazan_at_gmail.com> wrote:
> I have a 9i database with WE8ISO8859P1 characterset,
> the database is supposed to hold Farsi characters (weird!!), so my
> client developers have coded a PLSQL
> function that converts any characters read from this database into a
> character from a non standard charset they had come up with.And they
> are using this function to read from the database by a client and it
> seems to be working because the data read from the database seems to
> be shown in the right format.
> It seems that this "non standard characterset" is nothing but the
> AR8MSWIN1256 charset.
> So knowing that, and knowing that AR8MSWIN1256 is not a superset of
> WE8ISO8859P1, would creating a database link from the AR8 DB(10g) to
> the WE8 DB(9i) and ship data through it converting it using that
> function work?
>
> it seems to me that any migration solution will have to use this
> function to work.

I would say that your feeling is correct.

The 9i database with the wonderful workaround does not "know" the meaning of the characters it contains.

The database link will try to convert the characters according to what Oracle knows, so it will yield incorrect characters or question marks instead of the Farsi characters.

I guess that the developers who came up with this bad solution will have to write something to extract the data from the old database, convert them to a known encoding for Farsi (e.g. UTF-8) and import them into a new database with an appropriate character set using SQL*Loader or something else.

Yours,
Laurenz Albe Received on Mon Dec 01 2008 - 05:23:21 CST

Original text of this message