Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Problems going from US7ASCII to WE8ISO8859P1
Hi!
A> Me again. Heres the latest.
A> Even though we were using US7ASCII (a 7 bit char set) before, A> apparently some character stored in LONG columns were > 128 ascii.. A> ie, 162 = the cent symbol. When I imported this data into a new A> WE8ISO8859P1 database, oracle decided to "trunc" the characters > 128 A> by subtracing 128 from them. The end result was the cent symbol A> (162) ended up being the " A> symbol (34).
Maybe the cent symbol's code is beyond the WE8ISO8859P1 charset. Such symbols are replaced by ? during translation
A> Why did this happen and how should I have prevented it? 162 with the
If you had chosen the correct charset before creating the DB you would not
have any problem.
Never store data in charset different to the DB charset.
A> WE8ISO8859P1 char set worked as a cent symbol, I just wish the A> original 162's had stayed 162. This has been a MAJOR pain in the ass.
Try this(with the original DB, I have not tried this but it should work).
- set the charset part of NLS_LANG to US7ASCII on both the server and the
client
( to disable charset translation)
- make export of your tables, not schemas - change database charset - change NLS_LANG accordingly - make a dummy export file (for instance, export any table with rows=n) - (this part is most likely not supported by Oracle and may cause problemswith Oracle support service)
Bye