I don't understand some things, please clear those out:
With following query i see that my database character-set is "AL32UTF8":
select * from database_properties where
property_name like 'NLS%';
/*
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
1 NLS_LANGUAGE AMERICAN Language
2 NLS_TERRITORY AMERICA Territory
3 NLS_CURRENCY $ Local currency
4 NLS_ISO_CURRENCY AMERICA ISO currency
5 NLS_NUMERIC_CHARACTERS ., Numeric characters
6 NLS_CHARACTERSET AL32UTF8 Character set
7 NLS_CALENDAR GREGORIAN Calendar system
8 NLS_DATE_FORMAT DD-MON-RR Date format
9 NLS_DATE_LANGUAGE AMERICAN Date language
10 NLS_SORT BINARY Linguistic definition
11 NLS_TIME_FORMAT HH.MI.SSXFF AM Time format
12 NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM Time stamp format
13 NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR Time with timezone format
14 NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR Timestamp with timezone format
15 NLS_DUAL_CURRENCY $ Dual currency symbol
16 NLS_COMP BINARY NLS comparison
17 NLS_LENGTH_SEMANTICS BYTE NLS length semantics
18 NLS_NCHAR_CONV_EXCP FALSE NLS conversion exception
19 NLS_NCHAR_CHARACTERSET AL16UTF16 NCHAR Character set
20 NLS_RDBMS_VERSION 10.2.0.4.0 RDBMS version for NLS parameters
*/
I saved into a table column with datatype "VARCHAR2" very weird symbols with selfmade php-backend page, and also with PL/SQLDEveloper, and result is that i see all those foreign language letters nicely in database cell.
I thought that i must use datatype "NVARCHAR2" to be able to save all those weird letters, but seems that i don't need "NVARCHAR2" datatype at all if my database's "character-set" is UTF.
1. Is there any reason i might want to decide to use NVARCHAR2 at all in future? I don't see, seems like database character-set does all work also in columns with datatype VARCHAR2.
2. If i wouldn't have such good database character-set, then would then be the only option to use NVARCHAR2 datatype, to save up nicely all weird letters?