When I look in Db I see TFieldType defined as
TFieldClass = class of TField;
// Data type for field.
// The order is determined by Delphi compatibility
TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar,
ftWideString, ftLargeint, ftADT, ftArray, ftReference,
ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface,
ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo);
I don't see any special field to specify a field which is Utf8 in the list of field types, so which is it likely to be ftString, ftWideString,ftMemo, ftWideMemo or what?
How does the database library decide the TFieldType for a database text type? It is up to the library designer?