23.07.2016 08:44, Geoff Worboys wrote:

> Ergo: the character set of the parameters to an EXECUTE BLOCK
> come from the attachment character set and NOT from the
> declared character set.
>
> You say "of course, parameters are converted to client charset"
> but this is both far from obvious and contrary to the
> documentation.

You are confused by what a parameter is. Look:

"Param1" VARCHAR(80) CHARACTER SET WIN1252 = ?

"Param1" is a PSQL parameter while ? is a DSQL parameter. The latter is 
filled by your application and assigned to the former inside the engine. 
Adriano was speaking about the latter.

You declare the datatype of the PSQL parameter, but the DSQL parameter 
is always described using the attachment charset, because user 
applications explicitly specify the attachment charset to process all 
input and output data -- this is a contract the engine cannot ignore. 
You want to pass one parameter as UTF8 and another one as WIN1252, then 
use NONE as the attachment charset and handle everything yourself.


Dmitry


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to