|
From: Geoff W. <ge...@te...> - 2010-12-29 04:45:15
|
Hi All,
I've been reviewing some code dealing with the Firebird API and
want to clarify some of my assumptions. I think I have things
okay as far as dealing with character set details for field
data; what I am curious about are strings passed through the
API for other reasons.
. SQL statements given to prepare and execute etc are
interpreted according to the connection character set
- by which I assume NONE is effectively equivalent
to ASCII ... yes?
- I am trying to get my head around how character-set
introducers work in the various possible situations
here. For example: Am I right is thinking that a
connection character-set of UTF8 may make some
introducer situations effectively impossible? (I
couldn't, for example have _Win1252 followed by some
text that was invalid to UTF8 ... even if Firebird
copes I am not sure how I would do it at the client.)
. What about all the other times that strings are passed
to the API, is the connection character-set used there too?
- XSQLDA names etc
- cursor_name in isc_dsql_set_cursor_name
- data returned from isc_dsql_sql_info
- strings to/from the various services APIs
Up to now I've gotten by by assuming these as essentially
NONE/ASCII (which has worked because I've purposefully
avoided more complex situations), but now I'm reviewing
this code I am curious about what I _should_ be doing
in these situations. Does Firebird (in v2.x and/or before)
assume the connection character-set for any/all of these
strings too?
--
Geoff Worboys
Telesis Computing
|