Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Character confusion
Marcel Stör wrote:
> My environment is RedHat and 9i. If I enter German umlauts into a table
> through a GUI tool like DBAStudio and retrieve the same values with
> DBAStudio everything seems to be ok. However, if I query the same table from
> console with SQLPlus the umlauts are no umlauts anymore (ü turns to u, ö
> turns to o).
>
> So I checked v$nls_parameters of the session:
> NLS_CHARACTERSET is WE8ISO8859P1
> NLS_NCHAR_CHARACTERSET is AL16UTF8
> with AMERICAN/AMERICA
>
> I just doesn't look right...
>
> So I also checked sys.props$. As expected it returns the same values.
>
> Linux' $LANG environment parameter is de_CH.UTF-8.
>
> I'm stuck with all those locale's and charactersets. I also changed the
> Linux locale to en_US.UTF-8, which - as expected - has no influence on the
> umlaut behaviour. Not surprisingly, a CGI web app running on Oracle returns
> the umlauts like they appear on the console.
>
> I would realy appreciate if you could tell me how to sync all those
> settings.
>
> Best regards,
> Marcel
>
>
The oracle server adapts a few parameters to the client settings at
session create time. In form of statements like alter session set
NLS_CHARACTERSET = 'WE8ISO8859P15', NLS_CURRENCY=.... and the like.
Set sql_trace=true in init$SID.ora, bounce the database and log in
using graphical tool and plain sql*plus.
Check the trace files created and you will see 4-5 statement like above
are being run, to adapt to the settings of the client connecting.
If your sql*plus session had exported
NLS_LANG='GERMAN_GERMANY.WE8ISO8859P15', your sql*plus would display ü
and other non-us characters right.
rgds
/Svend
Received on Thu Sep 04 2003 - 12:41:17 CDT