Hi Jozef
Is the character still correctly displayed after storing and retrieve back to the surface?
If this is true, there is no need to worry about the strange glphys on DB 🙂
If after readback, the character/glyph changed, than it is an issue with the database/database-driver.
Which interface typ in UnifAce do this field has (C*,W*,R*,....)
Which DBMS are you using? "MSS" or ?
Which COLLATION (MS-SQL) are you using?
An idea to check wether the character is correct beside the stange glphys:
Use a SQL-statement like this:
SELECT CAST(my_field as varbinary(100)) FROM my_table
Then check the HEX-code(s) for the letter.
If it is 0xc486, then the unicode codepoint 0x0106 is correct transformed by UTF-8 and your UnifAce driver uses UTF-8.
Check the COLLATION, if it ends with "_UTF8"
If not, it's all correct, as the UTF-8 byte sequence is treated as a normal "ASCII"/"CPnnnn"-sequence
If the COLLATION is an UTF8 one, you have to blame Microsoft 🙂
If it is not 0xc486 or 0xC6 then your UnifAce-driver is using some strange codepage (neither UFT8 nor CP1250)
Ingo
PS:
Character: One distinguish letter/sign/... without knowing how to display or to store
Glyph: The visual representation of a character
Byte sequence: The representation of a character/codepoint/something_else in bits and bytes
Codepage: A selection of characters including the bytesequence
Codepoint: A character or some special things in unicode
UTF: UCS Transformation Format (Not necessary unicode!)
UCS: Universal Coded Character Set (Not necessary unicode!)
UTF8 on Unicode:
All Unicodes<=0x007F are converted to one byte which is 1:1 ASCII. So in most cases, the length of a document doesnt' change or only very little. Characters above 0x0100 are two bytes or longer.
All Codepoints could be transformed into a byte sequence by i.e. UTF8 or UTF16
Not all Codepoints can be displayed. This depends (amongst other things ) to the fonts installed
A codepage holds (normaly) (32+)96+128 characters
32 control characters
96 characters close to the ASCII default
128 extended characters
Far from all codepoints can be mapped to a codepage
When only bytesequences a passed from on application to another, it's not clear which transformation/codepage/codeunit is behind the bytes, so this could lead to very strange glyphs 🙂