Agreed. Any Oracle initialization environment variables need to be set before your Perl script starts. Another approach is to set them and then re-exec() from within the script ... though be careful to avoid infinitely re-execing the same script!
2011/12/22 hermann schwärzler <hermann.schwaerz...@uibk.ac.at> > hello ralf > hello jens > > Jens Rehsack schrieb: > [...] > > We have a problem. We want to get an UTF8-CSV-File from >> UTF8-Oracle-Database. It seems to be that the CSV-File is always charset >> "latin-1". What can we do to get UTF-8-File? >> Here is our Testscript. >> >> #------ our Testscript--------------------**----# >> #!/usr/local/bin/perl -w -C64 use strict; >> > [...] > >> $ENV{NLS_LANG}="GERMAN_**GERMANY.AL32UTF8"; >> > [...] > > I seem to remember that it's to late for the oracle-client libraries to > set NLS_LANG here inside the script - I guess at this time they are loaded > already and have finished initializing their charset, thus ignoring any > change in NLS_LANG. > > try to set NLS_LANG before starting the script. either by "export"ing it > or by doing > > NLS_LANG="GERMAN_GERMANY.**AL32UTF8" ./your-test-script > > greetings > hermann > -- Check out my LEGO blog at http://www.brickpile.com Follow/friend me: facebook.com/billward • flickr.com/photos/billward • twitter.com/williamward