> Internally the parameter is WIN1252 (length of 'á' = 1) even the
> connection charset being UTF8 (where length would be 2).

Can you find a way to try the equivalent of this:

EXECUTE BLOCK (
    i VARCHAR(60) CHARACTER SET WIN1252 = ?
) RETURNS (
    r VARCHAR(60) CHARACTER SET WIN1252
) AS
    DECLARE v VARCHAR(60) CHARACTER SET UTF8;
BEGIN
  v = _utf8 x'C3A1';
  i = v;
  r = v;
  r = 'i=' || Octet_Length(i) || '  v=' || Octet_Length(v) || '  r=' || 
Octet_Length(r);
  SUSPEND;
END


Note that _utf8 x'C3A1' == 'á'.


Here under an IBObjects based client I get:

UTF8 connection   : i=2  v=2  r=1
WIN1252 connection: i=1  v=2  r=1


Under a Jaybird based client I get: i=2  v=2  r=1
for all connections, even when I try to say use encoding WIN1252
(but I'm not all that familiar with the client so may be doing
something wrong).  Whatever, that "i=2" is wrong.

But I can't work out how to try this in isql.

-- 
Geoff Worboys
Telesis Computing Pty Ltd


------------------------------------------------------------------------------
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