This content has been marked as final. Show 9 replies
Welcome to the forum!
I suggest to setup similar character set as your locale has in your console.
to display locale setting of your terminal
to list available locales if you wish to change. But I simple suggest to change your NLS_LANG to match your locale.
use AMERICAN_AMERICA.AL32UTF8 if your locale is en_US.UTF8
BTW see the following MOS doc for full details:
[url https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&id=264157.1]Oracle Metalink: The correct NLS_LANG setting in Unix Environments Doc ID: 264157.1
Thanks for your suggestion.
Unfortunately, I don't have access to the link posted by you.
Here are my locale settings:
$ locale -a
In that case, what should I change my NLS_LANG to? to "C"? Or can change my locale to match with NLS_LANG - if yes, how?
Sorry I don't have much knowledge about the locale settings. Please advise.
Thanks in advance.
Hi,1 person found this helpful
I suggest to use UTF8.
to change your locale to UTF8 issue in your terminal
so you can see if you could change it by
and please use
so this way your output files would be converted by oracle to UTF8 text!
You need a support contract or partnership with oracle to able to reach my oracle support.
Edited by: Zoltan Kecskemethy on Sep 18, 2012 5:47 AM
Thanksfor your help again.
I'm unable to set LC_ALL and NLS_LANG as suggested by you, getting the below error while executing my shell file:
$ export LC_ALL=en_US.UTF-8
LC_ALL=en_US.UTF-8: is not an identifier
$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
NLS_LANG=AMERICAN_AMERICA.AL32UTF8: is not an identifier
I tried using this:
$ LC_ALL='en_US.UTF-8'; export LC_ALL
$ NLS_LANG='AMERICAN_AMERICA.AL32UTF8'; export NLS_LANG
This has given me no ERROR in shell file and both paramters changed indeed:
$ echo $NLS_LANG
But my script did not run successfully and the log says:
ORA-12705: invalid or unknown NLS parameter value specified
It seems the NLS paramater AL32UTF8 is not supported by my enviroment.
Yes you right in env setup. Sorry I gave you Linux(bash) syntax...
What is you DB version?
Please try to setup
NLS_LANG='AMERICAN_AMERICA.UTF8'; export NLS_LANG
We are working on oracle 8i.
I followed you steps and executed my script, problem seems to be unresolved.
For example : "SADETTÝN" is getting converted to "SADETTÃ N"
For you info, I'm able to see "SADETT/335N" in vi editor but "SADETTŸN" via notepad after I pcput the file to my disk. After digging further, I came to know - /335 is octal value for 'Ý'.
Please advise if there any other way this could be avoided.
The issue is here that you don't have other available locale installed in your Unix system other than UTF8 to display your data well.1 person found this helpful
I think you must use this or install a new one.
So yes. /335 is UTF but your vi editor does not able to translate that.
You reported that you can see the UTF output in your desktop? And the values are as expected.
So you have a solution here as I see. I don't really understand what is the problem.
You can use a text editor (like notepad++) or any other tools to convert it to your needs...
Or you can try to find iconv for your unix version and convert it on the server locally!
Thanks for your suggestions.
I'm able to see the expected output after I use ftp client to transfer file to my local disk, rather than pcput command.
You are welcome. I'm glad that could help. Take care.