I am having major problems reading from and writing to several different Oracle 10g UTF-8 instances using DOA's TOracleDataset with OracleDictionary.CharacterSize set to True in D2009. As long as the strings I'm reading and storing consist of single-byte, ASCII chars only, no problem arises, but when multi-byte chars are involved the strings appear garbled when reading and are truncated when writing.
In order to reproduce the problem, you need an Oracle 10g instance or higher with NLS_CHARACTERSET=AL32UTF8 and NLS_LENGTH_SEMANTICS=CHAR. The local Oracle client has NLS_LANG=AMERICAN_AMERICA.AL32UTF8.
Steps to reproduce (run in PL/SQL Developer or similar):
create table DOATEST
(
TESTFLD VARCHAR2(4) --due to NLS_LENGTH_SEMANTICS=CHAR, these are 4 chars, not bytes!
);
insert into DOATEST (TESTFLD) values ('
Last edited by aalbarello; 06/14/11 02:42 PM.