Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: language character set confusion
On 16 Jun 2002 06:11:25 GMT, xflies <member_at_dbforums.com> wrote:
>select * from nls_database_parameters NLS_LANGUAGE AMERICAN
>NLS_TERRITORY AMERICA NLS_CHARACTERSET WE8ISO8859P1
>NLS_NCHAR_CHARACTERSET WE8ISO8859P1
>
>select * from nls_instance_parameters NLS_LANGUAGE AMERICAN
>NLS_TERRITORY AMERICA
>
>select * from nls_session_parameters NLS_LANGUAGE SWEDISH
>NLS_TERRITORY SWEDEN
>
>in registry HKEY_LOCAL_MACHINE\Software\oracle\home0\nls_lang =
>"SWEDISH_SWEDEN.WE8ISO8859P1"
nls_session_parameters always reflect the registry settings and/or
alter session statements
instance parameters reflect the init.ora. You have no NLS parameters
in init.ora (comes into play with PL/SQL as far as I know)
With respect the characterset: you set it when creating the database. You can use a different characterset on the client only. You can't set a characterset on instance level.
HOWEVER: there is a itsy bitsy little thingy they don't tell you (they do tell you, but everyone including me, reads over it)
If you have nvarchar2 columns and you want to insert a national
characterset string (whether there are special characters in it or
not)
you need to use
insert into table blah values (N'I am a national character string')
or you will hit the error you mention. Notice the extra N in front of
the initial '
Hth
Sybrand Bakker, Senior Oracle DBA
To reply remove -verwijderdit from my e-mail address Received on Sun Jun 16 2002 - 03:30:40 CDT