In database I'm using next parameters:
For saving unicode text I'm using NVARCHAR2 type. All unicode strings saved perfect, and displayed in dbGrid when I'm set UseUnicode optionNLS_CHARACTERSET CL8MSWIN1251
NLS_NCHAR_CHARACTERSET AL16UTF16
Structure of table In database looks like:
Code: Select all
CREATE TABLE TEST1 (
COMMENTS VARCHAR2(255),
NAME NVARCHAR2(255),
)
Code: Select all
SELECT
COMMENTS, NAME
FROM TEST1
Code: Select all
SELECT
COMMENTS, NAME,
'百度百' as StrJapanese,
'სდიფჰსდ ფიჰს' as StrGeorgian,
'Тестовая строка' as StrRussian
FROM TEST1
I set some settings, but my result is incorrect
Code: Select all
...
UniConnection1.SpecificOptions.Values['UseUnicode'] := 'true';
UniConnection1.SpecificOptions.Values['UnicodeEnvironment'] := 'true';
...
initialization
OCIUnicode := True;
TUniConnection options:
- Direct := True
- UseUnicode := True
UniDAC 5.5.11
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit
Code: Select all
select * from nls_database_parameters;NLS_CALENDAR GREGORIAN
NLS_CHARACTERSET CL8MSWIN1251
NLS_COMP BINARY
NLS_CURRENCY $
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_DUAL_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_LANGUAGE AMERICAN
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS .,
NLS_RDBMS_VERSION 11.2.0.3.0
NLS_SORT BINARY
NLS_TERRITORY AMERICA
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR