Hello,
After reading 3 pages of posts related to the NLS_LANG variable, I'm still unsure about how to choose a proper value for this variable.
Many posts suggest to use the value used by the Oracle database accessed.
But some posts + other sources says that it is not necessarily the value to use.
On top of that, what would you do if you had to access, in the same job, 3 databases with 3 different NLS settings ?
Some articles says the NLS _LANG should reflect the client charset so that Oracle can perform the proper translation.
I'm assuming that the client in our case would be the datastage project, which means that the NLS_LANG variable should be set to match the NLS setting of the datastage project.
The question is now "how do I choose my project NLS setting ?".
According to the NLS guide, the value is chosen based on the character set of the tables you want to read /write to.
So this brings us back to the first solution which is to set the NLS_LANG to a value matching the database one...
Does somebody have an explanation ?
Thank you
NLS_LANG value
Moderators: chulett, rschirm, roy
WoMaWil wrote:If you are US-American and you beleave - as nearly all co-citizens do - fully that neither behind pacific nor behind atlantic nor behind the great seas in the north nor behind the caribean sea there is any kind of intelligence than you can leave it untouched.
![Laughing :lol:](./images/smilies/icon_lol.gif)
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
Important for any Start is, that the DataBase(s) themself store internly their data correctly in a NLS way. If a DataBase itsself has no NLS-setting there is no chance to use it. It has to be set together with the installation of the DataBase.
Different NLS-Systems are supersets of others. You can get more details by reading:
Some Language-Sets have codes in common and others not.
What all european based Languagesets have in common are th 26 capital and minor letters.
If you have UNICODE as target you will not have big problems to transfer everything in correct way.
If you have west-european [ISO-8859-1 (Latin-1)]
as source and east-european [ISO-8859-2 (Latin-2)] as target or vice-versa you won't have any problems for german or french words but for spanish and polish.
Different NLS-Systems are supersets of others. You can get more details by reading:
Code: Select all
http://en.wikipedia.org/wiki/Unicode
What all european based Languagesets have in common are th 26 capital and minor letters.
If you have UNICODE as target you will not have big problems to transfer everything in correct way.
If you have west-european [ISO-8859-1 (Latin-1)]
as source and east-european [ISO-8859-2 (Latin-2)] as target or vice-versa you won't have any problems for german or french words but for spanish and polish.
Wolfgang Hürter
Amsterdam
Amsterdam
Thanks for the precisions Wolfgang.
A few additional links to consider:
http://www.oracle.com/technology/tech/g ... c110410551
http://forums.oracle.com/forums/thread. ... ID=1943715
http://www.dba-oracle.com/t_nls_lang.htm
A few additional links to consider:
http://www.oracle.com/technology/tech/g ... c110410551
http://forums.oracle.com/forums/thread. ... ID=1943715
http://www.dba-oracle.com/t_nls_lang.htm