Subject Transliteration problem
Author Geoff Worboys
Hi all,

I'm hoping someone can help me understand this:

Firebird v2.5.3, Windows (XP or 7(, tried on IBO and
FlameRobin, on a database created with default character
set WIN1252 (also used as connection character set).


SELECT Upper(_win1252 'ƒ') FROM RDB$DATABASE

(Where 'ƒ' is decimal 131 / 0x83)

Gives me error 335544321
arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets.

Experimenting I get:

SELECT Upper(_win1252 x'80') FROM RDB$DATABASE -- works
SELECT Upper(_win1252 x'81') FROM RDB$DATABASE -- works
SELECT Upper(_win1252 x'82') FROM RDB$DATABASE -- works
SELECT Upper(_win1252 x'83') FROM RDB$DATABASE -- FAILS
SELECT Upper(_win1252 x'84') FROM RDB$DATABASE -- works

I do not understand. x83 is (according to my research) a valid
international character in 1252 - and anyway, 0x81 doesn't
give the error and it isn't a valid character.

This has come about because I had some searches failing in an
existing database. Many users have cut-n-paste from emails,
so some blob fields have ended with all sorts of stuff that
Firebird happily accepted and saved - but now won't let me
search with Upper.

Geoff Worboys
Telesis Computing Pty Ltd