Migrating from WE8ISO8859P1 to AL32UTF8: handling [0x7F-0x9F] characters
239590Sep 6 2006 — edited Sep 7 2006Hi everybody.
First thing to say: sorry for my english.
i need to migrate two Oracle 9i databases from WE8ISO8859P1 to AL32UTF8.
The first one can be rebuild by loading "static" flat files: for this databse, i could said "no problem".
But for the second database, the situation is different: the content is dynamically updated through a WEB application.
Even if the database character set is WE8ISO8859P1, the content is more "WE8MSWIN1252". Through the WEB application, characters of the reserved [0x7F-0x9F] range have been inserted in the database.
Since no characterset conversion is needed in the actual architecture, all is working fine.
But now, i need to migrate to AL32UTF8 and i wonder what is the best way to do it, without loosing the [0x7F-0x9F] character (the famous one being the Euro symbol !!!) in a WE8ISO8859P1 -> AL32UTF8.
A theoretical way to do this is to proceed to WE8MSWIN1252 -> AL32UTF8 instead of a WE8ISO8859P1 -> AL32UTF8. But how ? I would say: i need to "lie" to Oracle.
In this forum, in the thread "Migrating database from ANSI to Unicode" (messageID=1373735), Sergiusz (thanks for all his posts on this forum) said :
The solution to the first problem is to migrate the database to WE8MSWIN1252 before going to Unicode (this is possible without export/import).
I don't know how to do this ? If anybody knows ... i would greatly appreciate :)
And more generally, i don't know the behavior of import/export tools regarding the character set issue:
Do import/export tools rely on the charset client sessions.
OR
Does the character of the export file is inherent of the original characterset database ?
In the first case, i can export my db using a WE8ISO8859P1 client session, and import the file in my new AL32UTF8 db using a WE8MSWIN1252 client session. This would be a way to "lie" to Oracle (because an export file has no inherent charset)
In the second case, even using import/export, i don't know how not to lost my Euro symbol in my migration ?
At this time, i just have a pretty "gloomy" solution: not using export/import tools, but using "UTL_FILE" package to dump my db in textual flat files, then using SQL*Loader to "import" them with an appropriate client session configuration.
If you have any ideas and/or advises
Thanks for your help
Philippe