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
Multilingual Support with Unicode Datatypes
Re: Multilingual Support with Unicode Datatypes
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;
SELECT USERENV ('LANGUAGE') FROM DUAL;
SELECT * FROM V$NLS_PARAMETERS;