Subject | Problem with UTF8 and Turkish (Turkey) |
---|---|
Author | dmarmur2002 |
Post date | 2009-02-26T15:34:05Z |
**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
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