Subject Problem with UTF8 and Turkish (Turkey)
Author dmarmur2002
**Using server verion LI-V6.3.1.1.17910 Firebird 2.1**

This query

SELECT LOWER(CAST(ASCII_CHAR(196) || ASCII_CHAR(176) AS VARCHAR(10)
CHARACTER SET UTF8))
FROM RDB$DATABASE

returns the error

GDS Exception. 335544849. Malformed string.

or

Malformed string.

whilst this query

SELECT CAST(ASCII_CHAR(196) || ASCII_CHAR(176) AS VARCHAR(10)
CHARACTER SET UTF8)
FROM RDB$DATABASE;

returns a column containing turkish uppercase I with the dot a.k.a
"Latin Capital
Letter I With Dot Above".

Also, this returns null

SELECT 1
FROM RDB$DATABASE
WHERE CAST(ASCII_CHAR(196) || ASCII_CHAR(176) AS VARCHAR(10)
CHARACTER SET UTF8) =
CAST('i' AS VARCHAR(10) CHARACTER SET UTF8);

The reason for the somewhat elaborate query forms above is that I
fear that
my newsposter will gobble thing up. I can also do

SELECT CAST(:PAR AS VARCHAR(10) CHARACTER SET UTF8)
FROM RDB$DATABASE;

with a unicode enabled tool and when the parameter dialog shows up
go to a character map utilitu and selecting the character. It's (U
+0130)
on my windoze machine.

What can i do about this problem? It's a showstopper.

- - -

On another note, how do i (after getting this to work) tell the LOWER
and UPPER
functions that i'm working with Turkish? Lowercase i should be
uppercase with a
dot and LOWER('I') should become i but without the dot.

TIA and regards,

/Dany