War Unicode_FSS überhaupt UTF8?
Wenn ich mich recht entsinne war das UCS2 (der
Unicode-Dialekt, der von Widestring "gesprochen" wird)
UTF8 ist im
ASCII-Bereich nicht von
ASCII zu unterschieden. Allerdings beanspruchen Zeichen außerhalb des
ASCII-Bereiches mehrere Bytes.
UCS2 hingegen nutzt immer 2 Bytes pro Zeichen. Seit Win2000 nutzt Windows Utf16, das bei ausgefalleren Zeichen auch Surogate pairs nutzt. (Dann: 4 Bytes pro Zeichen!)
Delphis neuer UnicodeString ist Utf16 und für einen sehr großen Zeichenbereich kompatibel mit UCS2.
Der große Unterschied ist das BOM. Bei UTF8 ist die Byteorder fest vorgeschrieben, braucht also kein BOM, und deshalb ist es
ASCII-kompatibel.
UCS2 hat vorne ein BOM, welches sagt wie herum Words ablegt werden (Big/Little Endian)
Firebird ist was Charsets angeht allerdings ziemlich grauenvoll. Der Client ist nicht in der Lage Charsets zu übersetzen, was bei mir schon zu einigem sinnlosen Ärger führte.