Page 1 of 1

Multilingual Support with Unicode Datatypes

Posted: Wed 27 Jan 2016 12:23
by ofiben
How I have to configure unidac and set a string value to a field from a oracle table with type varchar2 to a unicode string without lossing characters.

My string use only ISO 8859-1 caracters like "áéíóúàèìòùâêîôûäëïöüÑñÇç¿¡" and I test diferents settings for TUniConnection SpecificOptions like 'CharSet' set to 'WE8ISO8859P1', 'UseUnicode' & 'UseUnicodeEnvoriment' set to 'true' and also OCIUnicodeAsNational=true or OCIUnicode=true, and set the field value using field methods AsWideString, AsAnsiString with a ansistring encoded as AnsiString(28591), but no way always I get '?' or a letter as I change the settings.

The question is how I I assign a string to a varchar2 field without lose characters (if characters are in the codepage of server)

My configuration is:

RAD Studio 10 Enterprise
Unidac PRO with source v6.2.9
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

Oracle Server version: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
NLS Database parameters: NLS_CHARACTERSET=WE8ISO8859P1

Client version: 11.2.0.3.0

Best Regards
Alexander Brazda

Re: Multilingual Support with Unicode Datatypes

Posted: Tue 02 Feb 2016 09:40
by MaximG
Please clarify, what UniDAC mode of working with OracleUniProvider are you using? OCI Mode or Direct Mode? In addition, let us know your environment NLS parameters by executing the following queries:

SELECT USERENV ('LANGUAGE') FROM DUAL;

SELECT * FROM V$NLS_PARAMETERS;