Hi
I have a SQL server source with an NLS of SQL_LATIN1_GENERAL_CP1_CI_AS
and an Oracle Target with NLS settingof AMERICAN.
When I load data from source to target, some of the data is being changed
Ex: ? changed to |
Is this an NLS problem? What is the correct NLS setting that can be used in this case.
The Current NLS setting on the souce and target stages is windows-1252.
We are facing a lot of problems with NLS and do not know how to set NLS once for all so that we dont have to deal with it again.
Thanks
Unwanted data conversion
Moderators: chulett, rschirm, roy
Your source data is encoded in character set that I don't know - but you need to check if the extended (non-latin) characters are mapped the same way that Windows-1252 maps them. If not you will get misconverted characters.
NLS is not as complex as it seems - the difficulty lies in making sure that you know which set you are using at any stage and what conversions the system is doing. If in doubt, always take a row of data that you know and print out the ASCII values to see what has happened to that character. Never rely on the displayed glyph; most of the time the so-called error isn't in the data but in the display layer (be it "view data" in a designer window or printing out of data from a text file).
NLS is not as complex as it seems - the difficulty lies in making sure that you know which set you are using at any stage and what conversions the system is doing. If in doubt, always take a row of data that you know and print out the ASCII values to see what has happened to that character. Never rely on the displayed glyph; most of the time the so-called error isn't in the data but in the display layer (be it "view data" in a designer window or printing out of data from a text file).