Problem with special characters using TOracleDataSets

Hi!

I'm using Delphi 2010 and DOA 4.1.2.2 and have a problem fetching data with a TOracleDataSet. Special characters are only shown correctly as long as the string has enough space to hold them.
For example I have a Char(10) field in the database having the value 'hellő'. The fetched value is 'hellő'
Now I update the value to 'hellőhellő'. The fetched value now contains garbage. I seems that every special character needs to have an extra space, to be able to be read correctly.

I have no problems fetching special characters using a TOracleQuery.

I'v a workaround for this problem by setting the Oracle.NoUnicodeSupport to true. But then my program is no longer unicode compliant.
 
Character #337 will take up 2 bytes, so if a char(10) column can hold 10 bytes, this is not enough for the string you mentioned.
 
The Char(10) column can hold 10 special characters if necessary.

Let's suggest I have a value of 10 special characters, f.e. 'őőőőőőőőőő'.
When I fetch data from this column using a TOracleQuery, I get 10 characters.
When I fetch data from this column using a TOracleDataSet, I only get 5 characters (or corrupted data).
 
Our application runs in several countries.
If the country is for example Hungary, we set the NLS_LANG environment variable to HUNGARIAN_HUNGARY.EE8MSWIN1250.

The charset for the database is set to AL32UTF8.
 
Back
Top