Multilingual Support with Unicode Datatypes

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
ofiben
Posts: 1
Joined: Fri 10 Oct 2014 14:54

Multilingual Support with Unicode Datatypes

Post by ofiben » Wed 27 Jan 2016 12:23

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

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: Multilingual Support with Unicode Datatypes

Post by MaximG » Tue 02 Feb 2016 09:40

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;

Post Reply