Subject Is there an auto-conversion for text blobs while reading with isc_get_segment?
Author Daniel Vogelbacher
Hi,

is there an auto conversion from the character set of a text blob to
the encoding set for the connection?


For example, what happens if my client connection character set is
UTF-8, but the text blob column has ISO-8859-1? Did isc_get_segement()
return UTF-8 data or ISO-8859-1?

As far as I understand the Interbase API manual, I need to setup a
filter. But how can this be done? I assume something like this:


isc_blob_lookup_desc(); // prepare from_desc;

isc_blob_default_desc(); // prepare dest_desc;

unsigned char bpb[20];

unsigned short actual_len;

isc_blob_gen_bpb(sv, &to_desc, &from_desc, sizeof(bpb),
bpb, &actual_len);

But I don't see how this get the connection encoding?

The description for isc_blob_default_desc() tells me:

[...]
Character set is set to the default character set for the process or
database.
[...]

But isc_blob_default_desc() has no database handle param or something
else which can be used to resolve the connection encoding. So I think
this is the wrong way.

I'm also a little bit confused by the fact that the DPB for
isc_attach_database() (option isc_dpb_lc_ctype) requires a string like
"UTF-8" but the isc_bpb_target_interp option in the BPB requires an
integer ..hhuuu?




--
Daniel Vogelbacher


web: http://daniel.vogelbacher.name
irc: cytrinox @ (freenode|ircnet|quakenet)
www.informave.org