Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Export/Import and NLS
(for some reason I got responses (thanks!) in email but didn't see them in
the news group -- oh well.)
Hi Sybrand,
I did try NLS_LANG set to '_.WE8ISO8859P1' -- no luck. A bit more history: the export is from a 7.2.3, US7ASCII database. Apparently, 7.2.3 was a lot "NLS-loose" (at least the SQL*Loader part). The European characters got into the 7.2.3 US7ASCII database via SQL*Loader. Had Oracle 7.2.3 strongly enforced US7ASCII character set, the European characters would have been stripped off their 8th bit during the load. But it didn't. Now I need to export/import the data to an Oracle 8.0.5 db (which I created using WE8ISO8859P1 because we need to support European chars), which does enforce NLS char set behavior strongly (it seems).
One note I pulled off Oracle's web tech support bug db said something along this line: when using export/import to move data, there are several places where char set conversion may occur: (1) during export, if the source db's char set is different from NLS_LANG in the environment where the export (client program) is run; (2) during import, if the char set in the export file differs from NLS_LANG in the environment where import is run; (3) during import, if the NLS_LANG of import differes from the target db's char set.
Since I started out with a US7ASCII db but I need to end up with data imported into a WE8ISO5589P1 db, there's bound to be character conversion somewhere along the path. If I set NLS_LANG to _.WE8ISO5589P1, conversion takes in phase (2); if I set it to _.US7ASCII, phase (3) performs the conversion.
So it appears I'm stuck at this point.
I did log a question w/ Oracle tech support a few days ago but of course no peep from them yet (I ain't holding my breath).
thanks
Pei
Pei, What is the solution for this problem ?
thanks Ted Chyn
On Sun, 21 Feb 1999 10:24:00 -0800, "Pei L. Ku" <pku_at_gte.net> wrote:
Hi Pei,
1 - the import utility can perform characterset conversion
2 - the only thing that is important is the value of the environment
variable NLS_LANG (unix) or the registry key NLS_LANG on win95/NT. If
this variable has not been set US7ASCII will be used, regardless of
init.ora parameters
3 From what I gather from your post, you actually need conversion.
This means your env var of registry has to end in .WE8ISO8859P1
You have been able to get those characters in in a US7ASCII database,
quite likely they don't display properly, what happens during import
is bit 7 is stripped of, which is no conversion because by design bit
7 is not used. As you don't want that you have to specify an eight bit
character set on import, thus WE8ISO8859P1.
Hth,
Sybrand Bakker, Oracle DBA
>Hello,
>
>I'm exporting data from a Oracle 7.2.3 database. This database was
created
>with US7ASCII char set. Some tables in this database, however,
contains
>Western European characters (e.g., ascii value 128 to 255). On a
different
>machine I've created a 8.0.4 database using WE8ISO5589P1 (or
something like
>that). When I import the 7.2.3 export into the 8.0.4 database, I
noticed
>that all ascii in the 128 to 255 range got converted to ascii b/w 0
and 127.
>
>I did look up Oracle manuals and in several places it mentioned that
if I
>set NLS_LANG to the char set of export file then I'll be ok. So I set
>NLS_LANG to _.US7ASCII before start the import. Didn't work. I then
tried
>several other permutations of NLS_LANG values on both the import and
export
>side and still I had no luck.
>
>What gives? btw, I've verified that the export does contain ascii
128 to
>255 (by importing the data back into the 7.2.3, US7ASCII database),
so the
>unwanted conversion is occurring on the import side.
>
>thanks
>
>Pei
>
>
Sybrand Bakker, Oracle DBA
![]() |
![]() |