Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Converting from WE8MSWIN1252 to WE8ISO8859P1

Re: Converting from WE8MSWIN1252 to WE8ISO8859P1

From: Marc Blum <>
Date: Sun, 18 Apr 2004 10:41:17 +0200
Message-ID: <>

On Sat, 17 Apr 2004 20:34:55 +0100, "Adam McDonagh" <> wrote:

>I have a Win2k Pro server running Oracle 9i from which a database is
>currently stored. I wish to transfer everything from this server onto a new
>Linux PC that I have, running 10g.
>The charset on Windows database is WE8MSWIN1252, and WE8ISO8859P1 on my
>Linux box.
>I have exported the database from the windows server to import onto my Linux
>box. This all imports fine, however all the pound signs () are replaced
>with hashes (#).
>I have tried changing the Linux box to the MSWIN charset, but this didn't
>work... What would be the correct procedure for me to be able to keep all
>the poundsigns in my database? Do I need to change the windows box to the
>ISO character set and then run an export... But if I do this, will the
>poundsigns on the windows box still be ok?

One of the least understood concepts when dealing with NLS_LANG and db-charset is:

The DATABASE CHARACTERSET is dictated by the codepage used by the client OS! It must be a logical superset of the client characterset.


The codepage of the server OS is of no interest, as long as the server machine isn't used for client apps.

For NLS_LANG keep in mind:

NLS_LANG is dictated by the setting of your client OS! You can't toggle NLS_LANG. You have no choice! For example: my PC runs XP with german settings. Therefore NLS_LANG must be GERMAN_GERMANY.WE8MSWIN1252. Nothing other!

In your case:
the migration from a W2k box to a Linux box doesn't affect the database characterset used. Go this way:

Check the client app OS for correct setting of NLS_LANG. For windows apps in UK it's <bla>.WE8MSWIN1252.
Check the database characterset to be a superset of all used client charactersets. If is was 1252 from beginning on, it's ok, don't touch it.

Check the NLS_LANG of the w2k server box. exp.exe is now a client app. NLS_LANG on the w2k server box must be <bla>.WE8MSWIN1252. Do the export. Build a new database on the linux box. The database characterset must be a superset of all client charactersets. When you're only dealing with windows apps, 1252 is ok. Check the NLS_LANG of the linux box. imp.exe is now a client app. NLS_LANG will be <bla>.WE8ISO8859P15. Transfer the dump to the linux box. Now do the import. Alternatively you can do the import remotely from the w2k server. Then you may ignore the NLS_LANG of the linux box.


Marc Blum
Received on Sun Apr 18 2004 - 03:41:17 CDT

Original text of this message