I would like to know the difference between
NLS_NCHAR_CHARACTERSET
and NLS_CHARACTERSET
settings in Oracle?
From my understanding, NLS_NCHAR_CHARACTERSET
is for NVARCHAR
data types
and for NLS_CHARACTERSET
would be for VARCHAR2 data types.
I tried to test this on my development server which my current settings for CHARACTERSET
are as the following :
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET US7ASCII
Then I inserted some Chinese character values into the database. I inserted the characters into a table called data_<seqno>
and updated the column for ADDRESS
and ADDRESS_2
which are VARCHAR2
columns. Right from my understanding with the current setting for NLS_CHARACTERSET
US7ASCII
, Chinese characters should not be supported but it is still showing in the database. Does NLS_NCHAR_CHARACTERSET
take precedence over this?
Thank You.