Use TWideString fields and set UseUnicode to True in the ODBC dataset component.
| Aspect | ANSI Driver | Unicode Driver | |--------|-------------|----------------| | | Yes – every column string is converted twice (app→UTF-8, UTF-8→app) | Minimal – UTF-8 to UTF-16 or direct binary copy | | Parameter binding | Slower with mixed data (ANSI→UTF-8 conversion on each bind) | Faster – native wide char | | Sorting/Comparison | Done on server (UTF-8) – no client impact | Same | | LOB handling | Same as Unicode (bytea/text streaming) | Same | postgresql ansi odbc
The PostgreSQL ANSI ODBC driver ( psqlodbc built with --disable-unicode ) operates on a simple but critical pipeline: Use TWideString fields and set UseUnicode to True
: In the driver setup, you can toggle settings like "Text as LongVarChar" to control how PostgreSQL's unique text data type is presented to the application. Common Applications postgresql ansi odbc